Komputer, Lunak
Cara lunak testing lan mbandhingake. cara Testing "kothak ireng" testing lan cara saka "kothak putih"
software testing (SW) ngenali kesenjangan, shortcomings lan kasalahan ing kode sing kudu ono. Uga bisa diarani proses ngevaluasi fungsi lan bener saka piranti lunak kanthi saka analisis. cara dhasar saka integral lan testing aplikasi software lan mesthekake kualitas kanggo nyoba specification, desain lan werna, Assessment linuwih, Validation verifikasi.
cara
Tujuan utama saka testing lunak - konfirmasi kualitas lunak sistem liwat aplikasi debugging rapi ing kahanan kontrol kasebut kanthi teliti kanggo nemtokake nggenepi lan akurasi, uga deteksi kasalahan didhelikake.
Ing cara verifikasi (testing) program bisa dipérang dadi statis lan dinamis.
Tilas kalebu informal, ngawasi lan review technical, pengawasan, langkah dening analisis langkah, audit, uga analisis aliran data statis lan manajemen.
Techniques Dynamic sing:
- testing kothak putih. Iki sinau rinci logika internal lan struktur program. Sampeyan perlu kanggo kawruh kode sumber.
- testing kothak ireng. technique iki ora mbutuhake kawruh ngenani workings utama saka aplikasi. We nimbang mung aspèk dhasar saka sistem, ora kanggo utawa gadhah sawetara saka struktur logis internal.
- cara kothak abu-abu. Nggabungke loro cedhak sadurungé. Debugging karo kawruh winates ing fungsi internal aplikasi digabungake karo kawruh saka aspèk dhasar saka sistem.
testing transparent
Cara kothak nggunakake Tulisan test putih ngontrol struktur desain prosedural. Iki technique ngidini kanggo mbukak kasalahan implementasine, kayata sistem kode Manajemen miskin dening nganalisa bagean saka workings utama saka piranti lunak. cara test iki ditrapake kanggo tingkat integrasi, modul lan sistem. tester kudu duwe akses kanggo kode sumber lan nggunakake aplikasi iku kanggo mangerteni kang unit dumadakan inappropriately.
Testing program dening putih-kothak wis kaluwihan ing ngisor iki:
- Nanging ngidini kanggo ndeteksi lan kesalahan kode didhelikake dening njabut garis rasah;
- nggunakake efek samping;
- jangkoan maksimum ngrambah dening nulis aksara test.
cacat:
- proses dhuwur-biaya, mrintahake debugger trampil;
- akeh avenues tetep unexplored amarga mriksa pepek kabeh kasalahan didhelikake bisa banget Komplek;
- sawetara kode bakal liwati unnoticed.
testing kothak putih iki kadhangkala diarani dening Testing kothak transparent utawa mbukak, struktural, testing logis, adhedhasar kode sumber, lan arsitektur logika.
Ing varieties utama:
1) Testing kontrol aliran - strategi struktural nggunakake model aliran kontrol program lan minangka memfavoritake cara liyane prasaja kanggo kurang luwih Komplek;
2) cabang dibangun kanggo sinau debugging saben pilihan (bener utawa palsu) saben operator kontrol, kang uga kalebu solusi digabungake;
3) testing saka path utama, sing ngijini tester kanggo netepake logis kerumitan langkah project prosedural kanggo ngisolasi pesawat dasar dalan execution;
4) ngecek stream data - strategi kontrol aliran riset dening annotations count informasi bab iklan lan nggunakake variabel program;
5) siklus saka testing - kanthi fokus ing operasi sing bener pangolahan siklik.
debugging tindak tanduk
testing kothak ireng ngruwat lunak minangka "kothak ireng" - informasi bab workings utama saka program sing ora diitung, lan dicenthang mung aspèk dhasar saka sistem. Ing kasus iki, tester perlu ngerti arsitektur sistem tanpa akses kanggo kode sumber.
Kaluwihan saka pendekatan:
- efficiency kanggo babagan kode gedhe;
- ease saka pemahaman tester;
- perspektif pangguna cetha kapisah saka persepektif pangembang (Programmer lan tester iku sawijining saka saben liyane);
- nggawe sing luwih cepet saka test.
software testing cara kothak ireng nduweni cacat ing ngisor iki:
- memang dileksanakake nomer pilih kasus test, asil ing jangkoan winates;
- lack of specification cetha angel berkembang Tulisan test;
- efficiency kurang.
Jeneng liya kanggo teknologi iki - tanduk, non-transparent, testing fungsi lan cara debugging saka kothak Ana.
Kategori punika nyakup Techniques testing lunak ing ngisor iki:
1) padha karo partisi, kang bisa ngurangi pesawat saka data test minangka data modul lunak input wis bejat mudhun menyang bagean sing béda;
2) analisis nilai wates fokus ing verifikasi saka wates utawa angka watesan nemen - minimal, maksimum, lan nilai khas Kesalahan
3) fuzzing - digunakake kanggo ngleksanakake search dening inputting kasalahan utawa rusak poluiskazhennyh data ing mode otomatis lan semi otomatis;
4) counts saka causality - technique adhedhasar nitahaken saka gambar lan nentokake hubungan antarane tumindak lan alasan sawijining: identitas, negation, logis UTAWA lan logis lan - ing patang karakter utama, tjara hubungan antarane sabab lan efek;
5) Verifikasi susunan orthogonal Applied kanggo masalah karo wilayah input relatif cilik banget kamungkinan saka riset exhaustive;
6) Testing kabeh pasangan - technique ngendi pesawat saka nilai test dumadi kabeh kombinasi binar bisa saben Pasangan saka paramèter input;
7) negara debugging transisi - technique migunani kanggo mriksa status mesin, uga kanggo navigasi liwat GUI user.
Black testing kothak: Conto
technique ireng-kothak adhedhasar spesifikasi, dokumentasi, lan nang lunak antarmuka utawa sistem. Kajaba iku, sampeyan bisa nggunakake model (formal utawa informal), makili prilaku samesthine saka piranti lunak.
Biasane, cara iki wis digunakake kanggo debugging antarmuka panganggo lan mbutuhake interaksi karo aplikasi dening ngenalke koleksi data lan asil - saka layar, saka lapuran utawa Cithakan.
tester, mulane, interaksi karo lunak kanthi inputting, dening tumindak ing ngalih, lan utawa antar muka liyane. Sing dipilih saka data input, supaya sampurna utawa urutan saka tumindak bisa mimpin kanggo sawetara total ageng kombinasi, minangka ditampilake ing tuladha ing ngisor iki.
Carane akeh tes kudu nggawe supaya mriksa kabeh angka bisa kanggo flag 4 windows lan siji-mati lapangan, nyetel wektu ing detik? Ing pitungan kawitan ngarsane iku prasaja: 4 kothak karo rong negara bisa - 24 = 16, kang kudu ping pingan dening nomer posisi bisa saka 00 kanggo 99, i.e. 1600 tes bisa.
Nanging, iki petungan salah: kita bisa nemtokake sing lapangan loro-titik uga bisa ngemot spasi, IE mung kapérang saka rong posisi alphanumeric lan bisa kalebu karakter alphanumeric, karakter khusus, spasi, etc. Mangkono, yen .... sistem komputer 16-dicokot, nguripake 216 = 65536 siji kanggo saben posisi ing asil 4294967296 kasus test sing kanggo pingan dening 16 kombinasi saka panji sing menehi total 68.719.476 736. Yen padha nindakake ing 1 test per detik, total samb testing olzhitelnost 2 177.5 taun. Kanggo sistem 32 utawa 64-dicokot, dadi malah liyane.
Mulane ana perlu kanggo ngurangi wektu kanggo tingkat ditrima. Mangkono, Techniques kudu Applied kanggo ngurangi jumlah kasus test tanpa ngurangi orane katrangan saka testing.
padanan pembagian
Pemisahan padha iku cara prasaja sing ditrapake kanggo maksud apa kemungkinan sing saiki ing software, apa input utawa output angka, simbolis, numerik, lan liya-liyane. Punika adhedhasar prinsip sing kabeh data saka siji karo pemisahan bakal dianggep cara lan dening instruksi padha.
Sak testing, milih siji wakil saka saben pemisahan padanan tartamtu. Iki ngidini sampeyan kanggo runtut ngurangi jumlah bisa kasus test tanpa mundhut jangkoan saka swara lan fungsi.
akibat liyane saka pembagian iki kanggo ngurangi jeblugan combinatorial antara kaloro variabel beda lan abang ingkang kasus test.
Contone, ing (1 / x) 1/2 nggunakake telung urutan data, telung pemisahan padha:
1. nomer Kabeh positif bakal dianggep ing cara sing padha lan kudu menehi asil bener.
2. nomer Kabeh negatif sing ditangani ing cara sing padha karo asil sing padha. Iki salah, amarga ing ROOT saka sawetara negatif punika maye.
3. Zero bakal ditangani dhewe lan menehi kesalahan "pambagian wilangan karo nol". Iki bagean karo nilai siji.
Mangkono, kita waca telung bagean béda, salah siji kang wis suda menyang Nilai siji. Ana siji "bener" bagean, kang menehi asil dipercaya, lan loro "salah" karo asil salah.
analisis nilai wates
Processing ing wates ing padha pembagian bisa rampung beda saka samesthine. Investigation nilai watesan - cara kondhang nganalisa perilaku lunak ing wilayah kuwi. technique iki ndadekake iku bisa kanggo ngenali kasalahan kuwi:
- panyalahgunaan operator hubungan (<,>, =, ≠, ≥, ≤);
- single Kesalahan
- masalah ing siklus lan iterasi,
- jinis salah utawa ukuran kemungkinan digunakake kanggo nyimpen informasi;
- watesan Ponggawa gadhah jinis data lan variabel.
testing tembus
cara kothak werna abu-abu mundhak ing jangkoan test, sampeyan bisa fokus ing kabeh tingkat angel sistem liwat kombinasi Techniques ireng lan putih.
Nggunakake technique iki, ing tester kanggo pangembangan nilai test kudu kawruh saka struktur data internal lan kalkulus. Conto cara testing werna abu-abu-kothak kaya ing ngisor iki:
- model arsitektur;
- Unified Modeling Language (UML);
- model negara (wates mesin negara).
Ing cara ing kothak werna abu-abu kanggo berkembang test kasus sinau modul ing kode engineering putih, lan test nyata wis dileksanakake ing antar muka program teknologi ireng.
Iki cara Testing duwe kaluwihan ing ngisor iki:
- kombinasi kaluwihan kothak putih lan ireng Teknisi;
- Tester adhedhasar antarmuka lan specification fungsi, lan ora kode sumber;
- debugger bisa nggawe test gedhe kasus;
- mriksa digawe saka titik tampilan saka panganggo, ora Desainer saka program;
- nggawe pembangunan test adat;
- objectivity.
cacat:
- jangkoan test diwatesi amarga ana akses kanggo kode sumber;
- kerumitan cacat ing aplikasi mbagekke;
- akeh cara tetep unexplored;
- yen pangembang software wis dibukak test, banjur dislidiki uga gedhe banget.
Jeneng liya kanggo Techniques kothak werna abu-abu - tembus debugging.
Kategori punika kalebu kuwi cara testing:
1) Uploaded orthogonal - nggunakake himpunan kabeh kombinasi bisa;
2) matrik debugging nggunakake negara saka data program;
3) pengawasan regressive conducted ing owah-owahan anyar kanggo piranti lunak;
4) test Cithakan sing nganalisa desain lan arsitektur aplikasi apik.
Comparison Techniques testing lunak
Panggunaan cara dinamis ndadékaké kanggo bledosan combinatorial saka nomer tes sing perlu dikembangaké, dipun ginakaken lan digawa metu. Saben technique ngirim digunakake pragmatically, njupuk sawijining watesan menyang akun.
Cara mung bener ora ana, ana mung sing luwih cocog kanggo babak tartamtu. engineering struktural kita nemokake kode guna utawa angkoro, nanging lagi Komplek lan ora ditrapake kanggo program gedhe. Cara adhedhasar spesifikasi - sing gedhe-gedhe sing bisa kanggo ngenali kode ilang, nanging padha ora bisa ngenali outsider. Sawetara Techniques luwih cocok kanggo tingkat test tartamtu, jinis kesalahan utawa babak saka liyane.
Ngisor sing beda utama antarane telung Techniques testing dinamis - diwenehi Tabel comparison antarane telung formulir saka debugging lunak.
aspek | Cara kothak ireng | cara kothak Gray | cara putih-kothak |
Kasedhiyan informasi ing komposisi program | Niti priksa mung aspèk dhasar | kawruh sebagean struktur internal program | akses Full kanggo kode sumber |
Degree sapiturutipun saka program | kurang | Central | dhuwur |
Sing mrodhuksi debugging? | Mungkasi kedhaftar, Testers lan gawe | Mungkasi kedhaftar, gawe lan debuggers | Developers lan Testers |
basa | Testing adhedhasar kahanan darurat external. | Diagram database, diagram aliran data, negara kawruh internal algoritma lan arsitektur | Piranti internal kanthi weruh |
Ing jurusan kang jangkoan | Kurang lengkap lan mbutuhake minimal wektu | Central | Potensi paling lengkap. Wektu-akeh |
Data lan wates internal | Debug mung dening nyoba lan kesalahan |
Domain data lan watesan internal bisa dicenthang yen diarani | Pengujian data sing luwih apik lan wates internal |
Kesesuaian kanggo nguji algoritma | Ora Ana | Ora Ana | Ya |
Otomasi
Cara otomatis nguji produk lunak nemen nyederhanakake proses verifikasi tanpa prakara lingkungan teknis utawa konteks perangkat lunak. Padha digunakake ing rong kasus:
1) kanggo ngotomatisasi pelaksanaan tugas, tugas sing repetitive utawa teliti, kayata mbandhingake file sajroning pirang-pirang baris kanggo mbebasake wektu tester kanggo konsentrasi ing poin sing luwih penting;
2) kanggo nindakake utawa nglacak tugas sing ora bisa gampang dileksanakake dening wong, kayata pemeriksaan kinerja utawa analisis wektu tanggapan, sing bisa diukur sajroning atus per detik.
Alat tes bisa diklasifikasikake kanthi cara sing beda-beda. Divisi ing ngisor iki adhedhasar tugas sing didhukung:
- Manajemen test, sing kalebu dhukungan kanggo manajemen proyek, versi, konfigurasi, analisis resiko, tes pelacakan, kesalahan, cacat lan alat pelapor;
- Manajemen persyaratan, sing kalebu panyimpenan syarat lan spesifikasi, verifikasi kanggo kesempurnaan lan kekaburan, prioritas lan kalacak ing saben test;
- Analisis kritis lan analisis statis, kayata monitoring aliran lan tugas, rekaman lan nyimpen komentar, ndeteksi cacat lan koreksi sing ngrancang, ngatur referensi daftar lan aturan, nelusuri sambungan dokumen sumber lan kode, analisis statis kanthi deteksi cacat, Analisis struktur lan dependensi, pitungan paramèter kode lan arsitèktur metrik. Kajaba iku, kompiler, analisa link lan generator silang silang digunakake;
- Modeling, sing kalebu alat kanggo prilaku bisnis modeling lan nguji model digawe;
- Pangembangan tes menehi generasi data samesthine adhedhasar kahanan pangguna lan antarmuka, model lan kode, ngatur kanggo nggawe utawa ngowahi file lan database, pesen, validasi data adhedhasar aturan manajemen, analisis kondisi lan risiko statistik;
- Ndeleng kritis kanthi nglebokake data liwat antarmuka panganggo grafis, API, baris perintah nggunakake komparator kanggo nemtokake tes sukses lan gagal;
- Dhukungan kanggo lingkungan debugging sing ngijini sampeyan ngganti hardware utawa piranti lunak sing ora ana, kalebu simulator hardware sing adhedhasar subset saka output deterministik, emulator terminal, telpon seluler utawa peralatan jaringan, lingkungan verifikasi basa, OS lan perangkat keras kanthi ngganti komponen sing kurang karo driver, palsu Modul, lan liya-liyane, uga alat kanggo nyegat lan ngowahi pangarepan OS, simulasi batasan CPU, RAM, ROM utawa jaringan;
- Perbandingan file data, pangkalan data, mriksa asil samesthine sakwise lan sawise nguji, kalebu comparison dinamis lan kumpulan, "orakel" otomatis;
- Pengukuran jangkoan kanggo lokalisasi kebocoran memori lan manajemen sing ora cocog, ngetrapake prilaku sistem ing kahanan sing diadopsi simulasi, ngasilake aplikasi, basis data, jaringan utawa server ing skenario pertumbuhan nyata, kanggo ngukur, nganalisa, verifikasi lan nglaporake sumber daya sistem;
- Panentu keamanan;
- Testing performance, load, and dynamic analysis;
- Piranti liyane, kalebu kanggo mriksa ejaan lan sintaksis, keamanan jaringan, anané kabeh kaca situs web, dsb.
Perspektif
Kanthi owah-owahan tren ing industri piranti lunak, proses debugging uga bisa diganti. Ana cara anyar kanggo nguji produk lunak, kayata arsitektur berorientasi layanan (SOA), teknologi nirkabel, layanan seluler, lan liya-liyane, wis mbukak cara anyar kanggo nguji perangkat lunak. Sawetara owah-owahan sing wis ditemtokake ing industri iki sajrone sawetara taun sabanjure didhaptar ing ngisor iki:
- Testers bakal nyedhiyakake model entheng sing bisa digunakake kanggo nguji kode;
- Perkembangan metode uji coba, kayata panampil lan modeling program ing tahap awal, bakal ngilangi akeh kontradiksi;
- Ing ngarsane sawetara intercepts test bakal ng shorten wektu saka deteksi kesalahan;
- Alat analisa statis lan alat deteksi bakal digunakake luwih akeh;
- Panganggone matriks migunani, kayata cakupan spesifikasi, cakupan model lan jangkoan kode, bakal nemtokake pangembangan proyèk;
- Alat kombinatorial bakal ngidini pangguna kanggo nemtokake arah prioritas debugging;
- Testers bakal nyedhiyakake layanan sing luwih katon lan terkenal ing saindhenging proses pangembangan perangkat lunak;
- Debuggers bakal bisa nggawe alat lan metode kanggo nguji perangkat lunak sing ditulis lan interaksi karo basa pamrograman sing beda;
- Spesialis debug bakal dadi luwih dilatih kanthi profesional.
Metodhe-oriented bisnis anyar kanggo program uji coba bakal ngganti, cara interaksi karo sistem lan informasi sing diwenehake bakal berubah nalika ngurangi risiko lan nambah keuntungan saka owah-owahan bisnis.
Similar articles
Trending Now