Komputer, Software
Metode software nguji tur dibandingkeun. Metoda nguji ngeunaan "kotak hideung" nguji jeung metoda "kotak bodas"
software nguji (SW) ngaidentipikasi sela, shortcomings sarta kasalahan di kode anu perlu kajawab. Éta ogé bisa dihartikeun salaku prosés evaluating pungsionalitas na correctness sofwer kalayan bantuan analisis. métode dasar integrasi sarta nguji ngeunaan aplikasi software sarta mastikeun kualitas anu keur nguji spesifikasi, rarancang jeung coding, assessment reliabilitas, validasi sarta verifikasi.
métode
Tujuan utama nguji software - konfirmasi tina kualitas Sistim software ngaliwatan aplikasi debugging sistimatis dina kaayaan dikawasa taliti pikeun nangtukeun completeness maranéhanana jeung akurasi, ogé beungeut kasalahan disumputkeun.
Metodeu verifikasi (nguji) program bisa dibagi kana statik sarta dinamis.
Urut kaasup informal, monitoring sarta review teknis, pamariksaan, step by analisis hambalan, auditing, kitu ogé nganalisis aliran data statik sarta manajemén.
téhnik dinamis anu:
- nguji kotak bodas. Ieu ulikan nu lengkep ngeunaan logika internal sarta struktur program. Perlu pangaweruh ngeunaan kode sumber.
- nguji kotak hideung. Téhnik ieu teu merlukeun pangaweruh naon baé ngeunaan workings jero aplikasina. Anggap we ukur aspék dasar tina sistem, teu patali atawa pakait sareng sababaraha struktur logis internal na.
- Metoda kotak abu. Ieu ngagabungkeun dua deukeut saméméhna. Debugging kalawan kanyaho kawates fungsi internal tina aplikasi eta digabungkeun jeung pangaweruh ngeunaan aspék dasar sistim éta.
nguji transparan
Metodeu kotak ngagunakeun Aksara test bodas ngadalikeun struktur desain prosedural. Téhnik ieu jadi ngagampangkeun pikeun nembongkeun kasalahan palaksanaan, kayaning Sistim kode manajemén goréng ku analisa bagian tina workings jero sofwer. métode test ieu lumaku pikeun tingkat integrasi, modul jeung sistem. tester kudu boga aksés kana kode sumber na make eta pikeun manggihan nu Unit behaves inappropriately.
Nguji program ku bodas-kotak boga kaunggulan handap:
- Hal ieu ngamungkinkeun keur ngadeteksi kasalahan dina kode disumputkeun ku nyoplokkeun garis perlu;
- pamakéan sisi-épék;
- sinyalna maksimum kahontal ku nulis Aksara test.
kalemahan:
- prosés tinggi-ongkos, merlukeun debugger terampil;
- loba avenues tetep unexplored sabab cek teleb sadaya kasalahan disumputkeun mungkin pisan kompleks;
- sababaraha kode nu bakal diliwatan unnoticed.
nguji kotak bodas anu sok disebut ku uji coba hiji kotak transparan atawa buka, struktural, nguji logis, dumasar kana kodeu sumber, sarta arsitéktur logika.
The variétas utama:
1) uji coba kadali aliran - strategi struktural ngagunakeun modél aliran kontrol program tur salaku favoring cara leuwih basajan mun pangsaeutikna leuwih kompleks;
2) Cabang The dirancang pikeun diajar debugging unggal pilihan (leres atanapi palsu) unggal operator kontrol, anu ogé ngawengku leyuran digabungkeun;
3) nguji sahiji jalur utama, nu ngidinan tester pikeun ngadegkeun logis pajeulitna ukuran proyék prosedural pikeun isolating a set dasar jalur palaksanaan;
4) mariksa jeung stream data - strategi kontrol aliran ieu panalungtikan ku annotations cacah informasi ngeunaan iklan jeung ngagunakeun variabel program;
5) siklus nguji - pinuh fokus kana operasi bener prosés siklik.
debugging behavioral
nguji kotak hideung Ngaruwat software salaku "kotak hideung" - informasi ngeunaan workings jero program teu diitung, jeung dipariksa ngan aspék dasar sistim éta. Dina hal ieu, tester perlu nyaho arsitektur Sistim tanpa aksés ka kodeu sumber.
Kaunggulan tina pendekatan ieu:
- efisiensi keur bagean kode badag;
- betah persepsi tester;
- sudut pandang pamaké ieu jelas dipisahkeun ti perspéktif pamekar (programmer na tester anu bebas unggal sejenna);
- nyiptakeun leuwih gancang tina test.
software nguji metoda kotak hideung boga kalemahan di handap:
- memang dilaksanakeun sababaraha pilih kasus uji, hasilna sinyalna kawates;
- kurangna hiji spésifikasi jelas hese ngembangkeun Aksara test;
- efisiensi low.
Ngaran séjén keur téhnologi ieu - behavioral, non-transparan, nguji fungsi sarta metoda debugging tina kotak katutup.
Kategori ieu mungkin kaasup téhnik tés software handap:
1) sarua jeung partisi, anu bisa ngurangan set data test sakumaha data modul software input direcah jadi bagian misah;
2) Nganalisis ajén wates museurkeun kana verifikasi wates atanapi nilai wates ekstrim - minimum, maksimum, sarta nilai has kasalahan;
3) fuzzing - dipaké pikeun ngalaksanakeun pilarian ku inputting kasalahan atawa disogok poluiskazhennyh data dina modeu otomatis atawa semi-otomatis;
4) diitung tina kausalitas - téknik dumasar kana kreasi grafik na nangtukeun hubungan antara peta na alesan na: identitas, negation, logis OR tur logis AND - opat karakter utama, keu hubungan antara ngabalukarkeun sarta pangaruh;
5) Verifikasi of arrays ortogonal dilarapkeun masalah mibanda luas input relatif leutik exceeding kamungkinan panalungtikan tuntas;
6) nguji sakabeh pasangan - teknik mana susunan nilai test ngandung sakabéh kombinasi binér mungkin unggal pasangan parameter input;
7) kaayaan debugging transisi - téhnik mangpaat pikeun ngecék status mesin, kitu ogé pikeun nganapigasi ngaliwatan GUI pamaké.
Hideung nguji kotak: Conto
Téhnik hideung-kotak dumasar kana spesifikasi, dokuméntasi, jeung déskripsi tina panganteur software atawa sistem. Tambahanana, Anjeun bisa make model (formal atawa informal), ngalambangkeun kabiasaan ekspektasi sofwer.
Ilaharna, metoda ieu dipake keur debugging panganteur pamaké sarta merlukeun interaksi jeung aplikasi ku ngawanohkeun kumpulan data jeung hasil - tina layar, ti laporan atanapi printouts.
tester, kituna, dilibetkeun ku software ku inputting, ku akting dina saklar, tombol atanapi interfaces lianna. Pilihan data input, Urutan administrasi atawa runtuyan lampah bisa ngakibatkeun jumlah total badag kombinasi, ditémbongkeun saperti dina conto di handap ieu.
Sabaraha tés kudu nyieun guna pariksa sagala nilai nu mungkin keur bendera 4 jandéla jeung hiji-off sawah, nyetel waktos di detik? Dina itungan tetempoan kahiji nyaeta basajan: 4 Widang dua nagara mungkin - 24 = 16, nu kudu dikali Jumlah posisi mungkin tina 00 nepi 99, i.e. 1600 tés mungkin.
Sanajan kitu, itungan ieu téh salah: urang bisa nangtukeun yén médan dua-titik ogé bisa ngandung spasi, misalna eta diwangun ku dua posisi alpanumérik sarta bisa ngawengku karakter alfanumerik, karakter husus, spasi, jeung sajabana Jadi, lamun .... sistim mangrupakeun komputer 16-bit, balikkeun 216 = 65536 hiji keur unggal posisi di resultant 4294967296 kasus uji anu bisa dikali 16 kombinasi umbul nu mere jumlahna aya 68.719.476 736. Lamun maranéhna ngalakukeun di 1 test per detik, anu total cont nguji olzhitelnost nyaeta 2 177.5 taun. Pikeun sistim 32 atawa 64-bit, lilana éta malah leuwih.
Kituna aya anu peryogi pikeun ngurangan mangsa ieu ka tingkat ditarima. Ku kituna, téhnik kudu diterapkeun pikeun ngurangan jumlah kasus uji tanpa ngurangan lingkup nguji.
Kasaruaan ngabagi
The partisi sarimbag mangrupakeun metoda basajan nu geus lumaku pikeun sagala variabel anu hadir dina software, naha input atawa output nilai, simbolik, numerik, jeung sajabana. Hal ieu dumasar kana prinsip anu sakabeh data ti hiji sarua partisi bakal diolah cara sarua jeung ku parentah sami.
Salila nguji, milih hiji wakil unggal partisi sarua tangtu. Ieu ngidinan Anjeun pikeun sacara sistematis ngurangan jumlah mungkin kasus uji tanpa kaleungitan sinyalna tina paréntah sarta fungsi.
konsekuensi sejen tina ngabagi ieu pikeun ngurangan ledakan combinatorial antara variabel béda jeung réduksi pakait kasus uji.
Contona, dina (1 / x) 1/2 ngagunakeun tilu urutan data, tilu partisi sarimbag:
1. nomer Sadaya positif bakal dirawat di jalan anu sarua jeung kudu masihan hasil nu bener.
2. nomer Sadaya négatip nu diatur dina cara nu sarua jeung hasil anu sarua. Ieu lepat, sabab akar jumlah négatip nyaéta imajinér.
3. Zero bakal diatur nyalira sareng masihan kasalahan "division ku enol". Ieu bagian ku nilai tunggal.
Ku kituna, urang tingali tilu bagian nu béda, salah sahiji nu diréduksi jadi hiji nilai tunggal. Aya hiji "bener" bagian, anu méré hasil bisa dipercaya, jeung dua "salah" jeung hasil lepat.
Analisis nilai wates
Processing dina wates teh sarua ngabagi bisa dipigawé béda ti harepan. Panalungtikan ngeunaan nilai wates - metoda well-dipikawanoh tina analisa paripolah tina software di wewengkon misalna. Téhnik ieu ngamungkinkeun pikeun ngaidentipikasi kasalahan sapertos:
- pamakéan bener tina operator relational (<,>, =, ≠, ≥, ≤);
- tunggal kasalahan;
- masalah dina siklus na iterations,
- jenis salah atawa ukuranana variabel dipaké pikeun nyimpen informasi;
- watesan jieunan pakait sareng jenis data jeung variabel.
nguji tembus
Metoda kotak abu ngaronjatkeun sinyalna test, anjeun tiasa difokuskeun sakabéh tingkat hésé tina sistem ngaliwatan gabungan teknik hideung bodas.
Ngagunakeun téhnik ieu di tester pikeun ngembangkeun nilai test kudu boga pangaweruh struktur data internal sarta algoritma. Conto métode nguji abu-kotak nyaéta kieu:
- Modél arsitéktur;
- Dihijikeun modeling Basa (UML);
- Modél kaayaan (terhingga mesin kaayaan).
Dina metoda kotak abu ngamekarkeun test kasus diulik modul dina Konci rékayasa bodas, sarta uji sabenerna anu dipigawé dina interfaces sahiji program téhnologi hideung.
Ieu métode nguji boga kaunggulan handap:
- gabungan kaunggulan buleud bodas tur hideung teknisi;
- Tester dumasar kana panganteur na spésifikasi hanca, teu kodeu sumber;
- debugger bisa nyieun test hébat kasus;
- cek dijieun tina sudut pandang anu pamaké, teu desainer program;
- nyieun ngembangkeun test custom;
- objektivitas.
kalemahan:
- sinyalna test diwatesan lantaran euweuh aksés ka kodeu sumber;
- pajeulitna tina defects dina aplikasi disebarkeun;
- loba cara tetep unexplored;
- lamun éta pamekar software geus dibuka test, teras panalungtikan satuluyna bisa jadi kaleuleuwihan.
ngaran séjén pikeun téhnik kotak abu - tembus debugging.
Kategori ieu ngawengku métode misalna tina nguji:
1) Asép Sunandar Sunarya ortogonal - pamakéan sawaréh sadaya kombinasi mungkin;
2) matrix debugging ngagunakeun kaayaan tina data program;
3) inspeksi regressive dilakukeun dina parobahan anyar pikeun software nu;
4) uji template nu nganalisa rarancang jeung arsitéktur of a aplikasi alus.
Babandingan téhnik tés software
Ngagunakeun métode dinamis ngabalukarkeun letusan combinatorial tina Jumlah tés nu perlu dimekarkeun, dilaksanakeun sarta dilumangsungkeun. Unggal téhnik kudu dipake pragmatically, nyandak watesan na kana rekening.
Hijina metoda leres teu aya, aya ngan maranéhanana anu hadé cocog jeung konteks husus. rékayasa struktural ngawenangkeun kami pikeun manggihan kode gunana atawa jahat, tapi aranjeunna rumit sarta teu lumaku pikeun program badag. Métode dumasar spésifikasi - hijina leuwih anu bisa nangtukeun kode leungit, tapi maranéhna moal bisa nangtukeun hiji urang luar. Sababaraha teknik nu leuwih cocog pikeun tingkat test sababaraha hal, jenis kasalahan atawa konteks ti batur.
Di handap ieu mangrupa béda utama antara tilu téhnik tés dinamis - dirumuskeun hiji méja ngabandingkeun antara tilu bentuk debugging software.
aspék | Metodeu kotak hideung | Metoda kotak abu | Metoda bodas-kotak |
Ketersediaan informasi dina wangunan program | Examines ngan aspék dasar | pangaweruh parsial ngeunaan struktur internal program | aksés pinuh kana kode sumber |
Gelar fragméntasi program | saeutik | pusat | luhur |
Anu ngahasilkeun debugging? | Mungkas pamaké, testers sarta pamekar | Mungkas pamaké, pamekar jeung debuggers | Pamekar jeung testers |
dasar | Nguji ieu dumasar kana situasi darurat éksternal. | Diagram database, diagram aliran data, kaayaan pangaweruh internal tina algoritma jeung arsitéktur | Alat internal nyaéta pinuh sadar |
Darajat sinyalna | Kirang komprehensif sarta merlukeun minimum waktos | pusat | Berpotensi nu panghadena. Waktos-consuming |
Data tur wates internal | Debug ukur ku trial and error |
Bisa dipariksa di domain data sarta wates internal, upami aranjeunna dipikawanoh | Pangalusna domain test data sarta wates internal |
Algoritma nguji Suitability | teu | teu | nuhun |
hal nu ngajadikeun otomatis
métode otomatis tina nguji software geus loba simplify prosés pamariksaan, paduli lingkungan teknis jeung konteks ti. Éta nu dipaké dina dua kasus:
1) pikeun ngajadikeun otomatis tugas tedious, repetitive atanapi meticulous kayaning file ngabandingkeun kana sababaraha sarébu barisan dina urutan rék dipegatkeun waktu keur konsentrasi ka tester titik leuwih penting;
2) pikeun ngajalankeun tracking atawa tugas anu teu bisa gampang dipigawé ku jalma kayaning verifikasi kinerja atawa analisis waktos respon nu bisa diukur dina hundredths tina kadua.
parabot uji bisa digolongkeun ku cara nu béda. Division hareup ieu dumasar kana tugas aranjeunna ngarojong:
- manajemén test, nu ngawengku rojongan proyék manajemén, versi, konfigurasi, analisis resiko, tracking test, kasalahan, defects, sarta parabot ngalaporkeun;
- manajemén syarat nu ngawengku syarat neundeun jeung spésifikasi, pariksa aranjeunna keur completeness na ambiguitas, prioritas maranéhanana sarta traceability unggal test;
- review kritis jeung analisis statis, kaasup ngawaskeun aliran, sarta tugas, rékaman jeung neundeun komentar, beungeut cacad tur rencanana manajemén koréksi Tumbu ka checklists jeung aturan, nyukcruk dokumén sumber komunikasi jeung kode analisis statik pikeun ngadeteksi defects, mastikeun patuh kana standar kode tulisan, analisis struktur jeung kabebasan, itungan tina métrik parameter tina kode jeung budayana. Sajaba ti éta, make compilers, analyzers, Generators sarta hubungan tina-rujukan cross;
- modeling, nu ngawengku parabot pikeun kabiasaan bisnis modeling sarta nguji modél;
- ngembangkeun test ensures generasi data diperkirakeun dina dasar kaayaan jeung model panganteur pamaké sarta sandi, ngatur pikeun nyieun atawa ngaropéa file na basis data, olahtalatah, validasi data dina dasar aturan manajemén, analisa statistik tina kaayaan jeung resiko;
- tempoan kritis ku cara nuliskeun data ngaliwatan hiji antarbeungeut pamaké, API, garis paréntah grafis maké comparators pikeun mantuan ngaidentipikasi tés suksés jeung gagal;
- rojongan lingkungan debugging nu ngidinan Anjeun pikeun ngaganti hardware leungit atawa software, dina Vol. h. parabot simulasi dumasar kana sawaréh ditangtukeun output, emulators terminal, ponsel sarta alat-alat jaringan, lingkungan pikeun ngecék basa, sistem operasi sarta hardware ku ngaganti supir komponén leungit, samaran modul, jsb, ogé parabot pikeun motret jeung modifying OS requests nu watesan simulasi CPU, RAM, ROM, atawa jaringan .;
- .. A ngabandingkeun payil data, basis data, pariksa hasil nu diharapkeun nalika jeung sanggeus test geus réngsé, incl dinamis tur angkatan ngabandingkeun, otomatis "Oracles";
- palapis ukur keur lokalisasi leaks memori sareng kabiasaan kadalina Sistim estimasi lepat dina simulated aplikasi beban generating beban, basis data, jaringan atawa server dina skenario realistis tumuwuhna keur ngukurna, analisis jeung verifikasi laporan sumberdaya sistem;
- kaamanan;
- nguji kinerja, beban jeung analisis dinamis;
- parabot lianna, dina Vol. h. mariksa ejaan na sintaksis, kaamanan jaringan, kasadiaan sadaya kaca ramatloka jeung lianna.
perspektip
Jeung tren ngarobah dina industri software, prosés debugging oge ngarobih subyek. Aya metodeu anyar nguji software, kayaning a arsitéktur jasa-orientirovannae (SOA), téknologi nirkabel, jasa mobile, jeung saterusna. E., Dupi dibuka nepi cara anyar tina software nguji. Sababaraha parobahan nu dipiharep di industri leuwih ti sababaraha taun ka hareup nu dibéréndélkeun di handap:
- testers baris nyadiakeun model lightweight yén pamekar bakal tiasa pariksa kode anjeun;
- ngembangkeun métode nguji, kaasup nempoan na modeling program dina hiji tahap mimiti, baris ngaleungitkeun seueur kontradiksi;
- ayana uji sababaraha interceptions bakal shorten waktu deteksi kasalahan;
- analyzer statik sarta Pangwanoh hartina bisa leuwih loba dipaké;
- pamakéan matrices mineral, kayaning sinyalna of spésifikasi, nu ruang lingkup anu sinyalna model jeung kode bakal nangtukeun ngembangkeun proyék;
- parabot combinatorial ngawenangkeun testers nangtukeun daerah prioritas pikeun debugging;
- testers bakal nyadiakeun layanan langkung intuitif jeung berharga sapanjang proses ngembangkeun software;
- debuggers bisa nyieun parabot jeung métode nguji software ditulis dina na interacting jeung rupa-rupa basa programming;
- ahli Debugging bakal leuwih professionally dilatih.
Bakal diganti ku métode nguji software berorientasi-bisnis anyar, pikeun ngarobah cara interaksi jeung sistem jeung informasi aranjeunna nyadiakeun bari ngurangan resiko na ngaronjatna kauntungan tina parobahan bisnis.
Similar articles
Trending Now