Daftar periksa untuk menguji bidang numerik

Saat menguji, ada tugas menarik dengan logika rumit, dan tugas sederhana, seperti memeriksa string sederhana atau bidang numerik. Untuk bidang sederhana, Anda dapat menulis daftar centang sekali, lalu menggunakannya kembali, hanya sedikit mengubahnya agar sesuai dengan bidang Anda sendiri.



Hari ini kami akan menganalisis daftar periksa untuk bidang numerik. Pertama, saya akan menulis daftar periksa umum, kemudian kita akan memeriksa setiap item dan mencari tahu mengapa itu diperlukan, dan pada akhirnya kita akan menulis daftar periksa menggunakan templat ini.



Jadi, kami memiliki bidang tertentu di mana Anda perlu memasukkan nomor. Misalnya, bidang "usia" saat mendaftar:







Pada saat yang sama, Anda tidak dapat mendaftar di situs di bawah 18, ada konten yang dilarang.



Pemeriksaan apa yang bisa dilakukan di sini:



  1. Nilai yang valid
  2. Nilai salah (di luar rentang valid atau tidak logis: 200 tahun, 88 detik ...)
  3. Nilai batas
  4. Nilai batas
  5. Angka pecahan - format (dipisahkan dengan koma dan titik)
  6. Bilangan pecahan - pembulatan (dengan sekelompok tempat desimal)
  7. Nol
  8. Satu
  9. Bidang kosong
  10. Angka yang sangat besar (cari batas teknologi)
  11. Angka negatif
  12. Nilai non-numerik dan non-numerik


Menyatukan Semuanya - Contoh: Daftar Periksa Usia .

Nah, tempat berlatih - Coba sendiri!







Nilai yang valid



Bayangkan Anda benar-benar memiliki 5 menit untuk menguji fungsionalitasnya. Dan Anda hanya berhasil melakukan beberapa tes pertama dari daftar periksa. Dan Anda memiliki daftar periksa:



  • Bidang kosong
  • 0
  • -1


Akibatnya, pemeriksaan ini dilakukan dan Anda berpikir bahwa sistem berfungsi dengan baik (yah, bersumpah!). Dan dia selalu bersumpah, bahkan pada nilai yang benar! Tidak bagus ... Oleh karena itu, kami ingat aturannya:



SELALU positif pertama, lalu negatif!






Lihat juga:

Pengujian Positif dan Negatif - Pelajari lebih lanjut tentang mulai dari mana


Untuk bidang dengan usia, apa nilai yang benar? Apa pun yang berusia di atas 18 tahun:



  • delapan belas
  • 25
  • 38
  • 45
  • ...






Di sini Anda perlu memahami bahwa kami memilih beberapa nilai SATU . Hanya berbeda setiap saat untuk menghindari efek pestisida.



Penting juga untuk dipahami bahwa kita mungkin memiliki lebih dari satu nilai yang benar. Ini adalah saat kami memiliki beberapa rentang, dan kondisi berbeda pada masing-masing.



Misalnya, usia yang sama:



  • jika di bawah 18 - tunjukkan semua produk di toko, kecuali rokok dan alkohol
  • jika berusia di atas 18 tahun - tampilkan semua produk sama sekali


Kemudian kami menyadari bahwa kami telah memiliki dua rentang "valid". Jadi kita perlu mengambil nilai dari masing-masing. Misalnya, 16 dan 26.







Atau jika kita menghitung asuransi berdasarkan pengalaman berkendara:



  • 0 - 1 tahun - 1000 rubel
  • 1 - 3 tahun - 800 rubel
  • 3-5 tahun - 600 rubel
  • 5-10 tahun - 500 rubel
  • 10+ tahun - US $ 3,00


Ternyata 5 interval. Dan kita perlu mengambil satu nilai dari masing-masing. Misalnya: 0,5, 2, 4, 6, 15.







Setiap kali kita mengambil nilai yang berbeda, tetapi dalam paragraf ini artinya sama - mengambil nilai yang benar dari TK.





Nilai tidak valid



Ada beberapa opsi berbeda di sini. Apa arti nilai yang salah?



  • di luar rentang yang valid
  • benar dari sudut pandang komputer (angka), tetapi tidak berarti (200 tahun)


Mari kembali ke contoh usia. Nilai yang benar adalah di atas 18 tahun. Jadi, kita harus mengajukan pertanyaan:



- Apa yang terjadi jika kita mengambil nilai dari kisaran yang "salah"? Bagaimana jika saya berusia di bawah 18 tahun? Nah, katakanlah 10.







Kemudian kita hati-hati melihat interval yang dipilih:



- Hmmmmm, tetapi usia tidak boleh kurang dari 0. Artinya, kita memiliki batas logis yang memisahkan dua kelas ekivalen yang berbeda:



  • Mungkin secara fisik, tetapi tidak valid menurut TK (0 - 17 tahun)
  • Tidak mungkin secara fisik (0 atau kurang)


Jadi, Anda perlu mengambil nilai dari setiap rentang. Kemudian ternyata 10 dan "-5":







Kami berpikir lebih jauh:



- Jika kami memiliki batas logis tertentu dari bawah, harus ada di atas. Berapa usia maksimum yang mungkin untuk mendaftar di situs kami? Kemungkinan besar, usianya sekitar 55-65 tahun, karena generasi yang lebih tua tidak menyukai komputer. Tapi Anda juga bisa memberikan 100-110 tahun bersyarat sebagai centenarian.



Kami mendapatkan interval lain dengan batas implisit. Tetapi bagaimanapun juga, nilai 25 dan 145 akan berbeda - yang satu realistis dan yang lainnya tidak. Jadi, Anda harus mencobanya juga!







Dan sekali lagi efek pestisida. Kami mengambil 145 satu kali dan 6666666 lainnya.



Di sini kita mungkin menghadapi kenyataan bahwa lebih dari 2-3 karakter tidak dapat dimasukkan di lapangan. Pengembang diasuransikan kembali "dari orang bodoh". Ini bukanlah alasan untuk menyerah dan menyerah dalam ujian Anda. Karena kemungkinan besar pengembang hanya menetapkan maxlength di lapangan, dan mudah untuk menyiasatinya!



Lihat juga:

Cara menghapus maxlength dari semua bidang formulir - beberapa cara untuk diperhatikan ツ







Nilai batas



Nilai batas memisahkan satu interval dari yang lain. Mereka harus diuji !!! Karena di perbatasan itulah bug paling umum. Mengapa? Ya, karena keduanya termasuk dalam kedua rentang, atau tidak termasuk dalam keduanya.



Dalam contoh kami, TK memiliki syarat “pendaftaran hanya untuk orang berusia di atas 18 tahun”. Artinya, developer harus membuat logika berikut di kode program:



  • IF x> 18 MAKA mendaftar
  • IF x <= 18 MAKA kita beri error


Jika pengembang lupa menambahkan nilai 18 ke salah satu rentang, ini mungkin tidak menyebabkan kesalahan. Karena dalam kasus seperti itu, konstruk if else biasanya digunakan. Dan pengembang menempatkan "lain" terakhir untuk berjaga-jaga - yaitu, jika SECARA SUDAH nilai yang dimasukkan tidak termasuk dalam salah satu kondisi di atas:



  • jika x> 18 ...
  • elseif x <18 ...
  • lain ...


Tetapi jika pengembang menambahkan nilai 18 ke beberapa rentang sekaligus:



  • jika x => 18 ...
  • elseif x <= 18 ...


Maka programnya akan rugi, apa yang harus dipilihnya? Dan itu mungkin jatuh!



Secara umum, bug lebih sering terjadi di perbatasan daripada dalam interval. Karena itu, pastikan untuk menelitinya! Di TK kita ada batas yang jelas “lebih dari 18 tahun”. Jadi, kami menguji angka 18:







Jika kami memiliki beberapa interval menurut TK, kami memeriksa setiap perbatasan secara terpisah. Ini adalah batasan sewenang-wenang - yang diberlakukan oleh TK.



Tetapi perbatasan memiliki jenis yang berbeda:



  • Sewenang-wenang
  • asah otak
  • Teknologi


Diperiksa secara sewenang-wenang? Mari melangkah lebih jauh. Logis adalah semua tentang yang menuruti logika (dalam satu menit 60 detik, seseorang tidak bisa “kurang dari satu tahun”, dll.). Mari terapkan pada contoh kita.



Batasan dari bawah:



- Adalah logis bahwa usia tidak boleh kurang dari nol. Jadi 0 adalah batasnya. Menguji!







Batasan dari atas:



- Nuuuu ... Hampir tidak ada usia yang lebih dari 35 tahun. Meskipun apa yang mencegah nenek memasuki situs tersebut? Mungkin 65? 88?



Sulit menemukan perbatasan di sini. Mudah untuk mengambil nilai dari rentang "Saya tidak terlalu percaya", tetapi tidak ada batas khusus. Karenanya, tidak ada yang bisa diuji. Tidak ada batas logis di atas.



Saya telah mencari batas teknologi dalam item terpisah, jadi kita akan kembali ke sana nanti. Bagaimanapun, ini kurang penting daripada mendamaikan batas-batas sah yang ada di TK.



Lihat juga:

Jenis Batasan Menggunakan Mesin Cuci sebagai Contoh

Mengapa Menguji Nilai Batas



Cara Menemukan Batasan pada Klien dan Server

BMW Mnemonics untuk Menemukan Nilai Batas






Nilai batas



Jika kita memiliki perbatasan, maka ada nilai perbatasan. Dan mereka juga perlu diperiksa!

Pada contoh umur, batasnya adalah 18. Jadi nilai batasnya adalah 17 dan 19.







Mengapa harus memeriksa nilai batasnya? Ya, kemudian, pengembang dapat membuat kesalahan dalam kode dan menunjukkan batasnya sedikit tidak ada.



if x > 18
if x > 17


Jika batas kita bergeser, dan kita tidak menguji nilai perbatasan, maka kita dapat dengan mudah melewati bug ini. Bagaimanapun, kami memeriksa:



  • perbatasan - 18.18> 17, jadi semuanya berfungsi
  • nilai yang tidak valid dari kisaran di sebelah kiri adalah 10. 10 <17, sehingga terjadi kesalahan.


Kami menyimpulkan bahwa semuanya bekerja dengan benar, meskipun tidak! Jadi pastikan untuk memeriksa nilai batasnya.



Tetapi apakah perlu menguji nilai perbatasan di kedua sisi? Dengan 17 tersortir, Anda perlu. Dan 19? Katakanlah pengembang telah menyegel ke arah lain:



if x > 18
if x > 19


Kami akan menemukan bug ini dengan memeriksa nilai batas 18. Dan jika berfungsi untuk 18 dan berfungsi untuk nomor dalam rentang (misalnya, 26), maka kode ditulis dengan benar. Artinya, biar ada bug di kodenya, itu caranya sesat, tulis sesuatu seperti:



if (x == 18 or x > 21) …


Ini hanya bisa dilakukan dengan sengaja)) Nah, jika Anda mengandalkan pengembang bodoh dengan lelucon jahat dalam bentuk telur Paskah seperti itu, maka Anda hanya perlu melakukan penghancuran total. Jadi mari kita anggap rekan kerja sebagai orang yang memadai.



Tapi! Bagaimana jika pengembang menjelaskan cara kerja kode untuk beberapa interval? Kemudian, jika Anda salah ketik, rentangnya akan tumpang tindih:



if x <= 19 () …
if (x > 18 and x < 55) …


Angka 18 tidak akan menangkap kesalahan, karena 18 <= 19, dan tidak termasuk dalam kisaran kedua. Jadi akan ada situasi yang bekerja di perbatasan, bekerja dalam jangkauan, tetapi tidak pada nilai perbatasan.



Jadi jika tidak ada akses ke kode, ada baiknya memeriksa garis batas di kedua sisi, jika tidak, Anda tidak akan pernah tahu di mana kesalahan ketik telah merayap di sana?



Masalahnya menjadi lebih menarik jika Anda tidak hanya memasukkan bilangan bulat, tetapi juga bilangan pecahan di lapangan. Lalu apa yang akan menjadi nilai batasnya? Layak dimulai dengan satu tempat desimal. Dalam contoh kami, ini adalah 17.9 dan 18.1:







Oke, katakanlah kami memeriksa:



  • Seluruh perbatasan - 17 dan 19
  • Batas pecahan - 17.9 dan 18.1


Tetapi jika nilai-nilai seperti itu dibulatkan secara normal, apakah itu berarti bahwa yang lain akan membulatkannya dengan baik juga? Apa yang terjadi jika Anda memasukkan nilai 17.99999999999 (setelah koma desimal ada 11 sembilan, dan hasil pembulatan mencapai batas)?



Ini adalah kelas kesetaraan yang berbeda jika kita berbicara tentang pecahan yang akan dibulatkan:



  • Satu tempat desimal
  • Banyak tanda


Dan ada baiknya untuk memeriksa keduanya! Jadi kami menambahkan tes baru: 17.99999999999 dan 18.00000000001









Angka pecahan (format)



Jika sistem memungkinkan Anda untuk memasukkan nilai pecahan, maka kami memeriksanya di langkah 1, saat menguji nilai yang benar. Kami baru saja memecah konsep "bilangan yang benar":



  • Seluruh
  • Pecahan


Dan kami memecah item "pecahan" lebih lanjut. Bagaimanapun, bilangan pecahan dapat ditulis melalui:



  • poin - 6.9
  • koma - 6.9


Jika salah satu metode berhasil, itu tidak berarti bahwa yang kedua akan berhasil! Saya bahkan memiliki contoh dua kalkulator yang bekerja dengan bilangan pecahan secara berbeda - http://bugred.ru/calc/ .



Lihat juga:

Jangan tulis "Enter 6.9" di bug! - Analisis bug di kalkulator


Jadi kita perlu memastikan bahwa kedua metode tersebut berfungsi. Setidaknya jika mereka seharusnya bekerja. Jika hanya satu yang berfungsi, karena standar melarang penggunaan yang lain - periksa apakah yang kedua mengembalikan kesalahan!



Dalam kasus usia, berapa nilai pecahan positifnya? Kemungkinan besar setengah - misalnya, 20,5 tahun:







Sudahkah Anda memeriksanya? Kerja? Kemudian kita melihat melalui koma - 20.5:







Fakta bahwa pekerjaan pecahan pada prinsipnya telah diperiksa. Baik.





Bilangan pecahan (pembulatan)



Yang menarik adalah nilai yang mendekati batas, daripada nilai pecahan. Saat mendekati batas pada jarak yang kurang dari keakuratan komputasi, kita bisa masuk ke situasi di mana pemeriksaan validasi suatu nilai berhasil lulus, tetapi perhitungan gagal.



Jadi jika Anda dapat memasukkan bilangan non-integer, pastikan untuk mencoba banyak sembilan setelah titik desimal, dekat dengan batas nilai (kami telah melakukan ini dengan poin di atas):







Tidak masuk akal untuk memeriksa pembulatan melalui titik atau koma. Ini akan menjadi duplikasi tes yang tidak perlu. Kami memeriksa secara terpisah:



  • format - dipisahkan dengan titik atau koma
  • pembulatan - ketika satu atau banyak tempat desimal


Lihat juga:

Dalam pengujian, kami selalu memulai dengan sederhana! - mengapa Anda tidak mencampur cek






Nol



Kami selalu menguji nol. Dan dimanapun. Ingat saja ini sebagai aksioma. Hanya karena sering ada bug di nol.



Karena ini biasanya perbatasan. Bisa eksplisit (ditentukan di TK) atau implisit (tidak tertulis di TK, tapi jelas bahwa usia tidak boleh negatif).



Jika kita berbicara tentang bidang numerik, maka kita mencoba memasukkan angka 0. Meskipun, tentu saja, "nol" dalam pengujian melampaui bilangan prima.







Lihat juga:

Kelas Ekuivalensi Nol-Bukan-Nol - Pelajari lebih lanjut tentang menguji nol, dan bukan hanya bidang numerik!






Satu



Karena kami selalu memeriksa nol, kami tidak melupakan nilai garis batas - satu.



Faktanya, ini biasanya adalah "nilai minimum yang mungkin", jika kita tidak berbicara tentang nilai pecahan:



- Wajar jika kita memesan, kita membeli setidaknya 1 buku, atau 1 pakaian, atau 1 kg tepung ...

- Usia minimum adalah 1 hari / bulan / tahun

- Jumlah waktu minimum - 1 detik

- Jumlah pengalaman kerja minimum - 1 hari / bulan / tahun

- ...



Jadi seseorang tidak kurang dari angka ajaib dari nol. Kami memeriksanya juga!





Bidang kosong



Faktanya, ini juga tes nol. Hanya bukan dengan angka "nol", tetapi dengan nol pada panjang string masukan.



Toh kalau kita masukkan "0", ternyata satu karakter.

Dan jika kita mempelajari panjang string, ada baiknya memeriksa tidak hanya satu, tetapi juga nol .



Ingatlah bahwa nol bukan hanya angka. Bahkan dalam bidang numerik, kita akan memiliki setidaknya dua angka nol - string kosong dan angka "0". Mungkin ada lebih banyak angka nol - jangan lupa tentang nol pada output. Namun dalam contoh kita dengan usia, tidak demikian.





Jumlah yang sangat besar



Jumlah yang sangat besar harus dimasukkan untuk menemukan perbatasan teknologi. Misalnya, 9999999999999999.







Kami mencoba untuk melangkah sejauh mungkin. Tapi tidak terlalu sulit - ini harus menjadi satu ujian, yah, dua.



Pertama, Anda bisa mulai dari nilai integer - paling sering tipe data ini dipilih untuk bidang numerik. Jika Anda berhasil melampauinya, cukup centang 25 atau 45 sembilan di lapangan. Tidak jatuh? Nah, aneh. Tidak ada batasan teknologi, tetapi setidaknya kami mencoba menemukannya.



Lihat juga:

Cara menghasilkan string besar, alat - Anda tidak harus melakukannya dengan tangan))

Perbatasan teknologi dalam tip hukum - contoh bug nyata


Jika bidang memungkinkan untuk memasukkan nilai negatif, maka kami memeriksa "banyak sembilan" dengan tanda plus dan minus, melakukan dua tes:



  • 99999999999999999999999
  • -99999999999999999999999


Izinkan saya mengingatkan Anda bahwa jika Anda tidak dapat memasukkan banyak karakter dalam satu bidang, ini bukan alasan untuk menyerah dan mengatakan "batas teknologi tidak dapat diperiksa!". Karena jika Anda tidak dapat memasukkan banyak karakter dalam satu bidang, kemungkinan besar ada panjang maksimum per bidang, yang mudah untuk diketahui. Kami menghapus batasan pada klien dan memastikan bahwa server juga memiliki perlindungan yang sangat mudah.



Lihat juga:

Cara menghapus maxlength dari semua bidang formulir

Bagaimana menemukan batas di klien dan server






Angka negatif



Ketika kita memiliki angka, kita selalu ingat bahwa itu bisa jadi:



  • positif
  • negatif


Pada saat yang sama, dari pengalaman wawancara yang saya lakukan, saya dapat mengatakan dengan pasti bahwa hanya sedikit orang yang memikirkan cek "dan jika Anda memasukkan nilai negatif". Tetapi sistem dapat bekerja dengan berbagai cara:



  • beri keterangan “tidak ada umur / jumlah barang tersebut, mohon masukkan angka positif”;
  • potong tanda minus dan perlakukan angka negatif sebagai angka positif.


Ini selain fakta bahwa angka negatif bisa sangat normal untuk suatu bidang (misalnya, jika kita menabung pendapatan / pengeluaran).



Apa yang kita uji di bagian ini?



  • Apa yang terjadi jika Anda memasukkan angka negatif, yang akan benar dalam modulus: -26 dalam contoh kita
  • Mencoba menemukan batas teknologi: -99999999999999999999999






Nilai non-numerik dan non-numerik



Jika Anda berpikir bahwa untuk memeriksa nilai non-numerik, cukup dengan memasukkan string seperti "hello", maka Anda salah)))



Garis juga bisa berbeda, dan dapat dibagi menjadi:



  • banyak string yang diinterpretasikan oleh program sebagai angka;
  • banyak string yang tidak dapat ditafsirkan oleh program sebagai angka.


Pengujian untuk nilai "tidak cukup numerik" dibahas dengan sangat baik dalam artikel ini: Kelas kesetaraan untuk string yang menunjukkan angka



Saya tidak akan menulis ulang sepenuhnya, cukup tambahkan ke daftar pemeriksaan untuk contoh kita. Apa yang belum kami lihat:



  • Jelas bukan angka - "Tes"
  • Nol di depan - "025"
  • Spasi sebelum angka - "25"
  • Spasi di dalam angka - "2 5"
  • Menulis melalui e - "1.2e + 2"
  • Nilai heksadesimal - "0xba"
  • Boolean - TRUE / FALSE (dapat diartikan sebagai 0/1)
  • Infinity (ya, seperti itu dalam teks dan kami menulis)
  • NaN


Dalam kasus kami, dengan nilai usia yang benar dari 18 tahun, item "spasi dalam angka" menjadi lebih menarik. Itu tergantung pada logika sistem. Ada beberapa opsi berbeda di sini:



  • Bersumpah jika beberapa kata dimasukkan
  • Potong semua yang muncul setelah spasi pertama - "2 5" → "2"
  • Hapus spasi dan anggap tidak ada (dianggap sebagai kesalahan ketik dalam angka) - "2 5" → "25"


Begitu juga dengan huruf. Sistem bisa bersumpah ketika melihatnya, atau bisa begitu saja membuangnya. Jadi mari kita lihat opsi pengujian baru:



  • hingga usia kurang dari 18 tahun - 2 5
  • hingga usia di atas 18 tahun - 25 6
  • setelah spasi teks - 25 tes
  • sebelum teks spasi - tes 25


Harap dicatat bahwa di antarmuka kami hanya memasukkan beberapa nilai tanpa menentukan tipe data. Tetapi jika kita menguji REST API dan pesan json di dalamnya, maka kita harus mencoba memasukkan nomor dalam sebuah string:



  • nomor 3
  • nomor 3"


Ini adalah arti yang berbeda. Jika nilai yang tidak dikutip adalah angka. Jika dikutip adalah string, meskipun terlihat seperti angka. Mungkin pengembang akan mentransmisikan jenis dalam kode dan "menerima" opsi kedua, atau mungkin tidak. Layak untuk dicoba!





Menyatukan semuanya: daftar periksa usia



Ide-ide untuk tes dituliskan, masing-masing didiskusikan. Sekarang mari gabungkan semua poin dan tulis daftar periksa untuk contoh kita.



Izinkan saya mengingatkan Anda kondisi - kami memiliki kolom "usia" saat mendaftar. Pada saat yang sama, Anda tidak dapat mendaftar di situs hingga usia 18 tahun, ada konten terlarang.







Saat menyusun daftar periksa, kami mempertimbangkan semua poin yang telah dibahas di atas. Tapi jangan lupakan prioritas. Kami selalu memulai dengan pemeriksaan dasar, dan bukan dengan "dipalu dalam nol, angka negatif dan secara umum mencoba memecahkannya dengan segala cara yang mungkin."



Memeriksa Contoh Hasil
18 25
18 18
18 16 : « 18 »
21.5
21,5
18 17 : « 18 »
, 17.999999999999999999 : « 18 »
18* 18.00000000000000001
/
0 : « 18 »
( , , )
1 : « 18 »
999999999999999999999 : « »
. -999999999999999999999 : « »
: « »
025 , 25
25 , 25
2 5 : « 18 » ( )
18 25 6 , 25
25 , 25
25 , 25
1.2e+2 : « »
0xba : « »
Boolean TRUE : « »
Infinity Infinity : « »
NaN NaN : « »


* Jika 18.000000000001 berfungsi, maka tidak ada gunanya memeriksa bilangan bulat 19. Jika pecahan tidak diterima oleh sistem, maka ya, kami memeriksa 19



Tentu saja, pemeriksaan dari blok "bukan bilangan bulat" tidak terlalu penting. Terkadang Anda bisa dan harus menilai mereka. Terutama jika kita tahu bahwa sistem seharusnya tidak menganalisis apa pun, menghapus spasi, membuang teks, dan sebagainya ... Maka cukup mengambil satu nilai dari daftar ini. Dan sisanya digunakan untuk efek pestisida, yaitu, setiap kali versi baru "bukan angka".



Tetapi untuk memotong kelebihannya, Anda harus terlebih dahulu belajar bagaimana menghasilkan banyak ide! Inilah yang kami latih dengan Anda hari ini =)



Lihat juga: Daftar

petunjuk untuk bidang numerik di Strainer (Anda harus masuk)

Di mana mendapatkan ide untuk tes (pilihan tautan yang berguna)




Cobalah sendiri



Tulis daftar periksa untuk bidang "Pengalaman mengemudi". Asuransi dihitung tergantung lama layanan. Semua interval di sebelah kiri memiliki nomor "inklusif", tetapi di sebelah kanan tidak.



  • 0-3 tahun - 1000 rubel
  • 3-6 tahun - 700 rubel
  • 6-10 tahun - 500 rubel
  • 10+ tahun - US $ 3,00


Formulir tidak memungkinkan Anda untuk memasukkan apa pun kecuali angka (batasan ini ada pada klien). Nilai pecahan tidak dapat diterima, berapa tahun penuh pengalaman yang kita miliki, jadi kita tulis.



PS - Cari artikel bermanfaat lainnya di blog saya dengan tag "berguna" . Dan video yang berguna ada di saluran youtube saya



All Articles