KomputerPerisian

Kaedah pengujian perisian dan perbandingan mereka. Ujian kotak hitam dan ujian kotak putih

perisian ujian (SW) mengenal pasti jurang, kelemahan dan kesilapan dalam kod yang perlu ditangani. Ia juga boleh ditakrifkan sebagai proses menilai fungsi dan ketepatan perisian dengan bantuan analisis. kaedah asas integrasi dan pengujian aplikasi perisian dan memastikan kualiti adalah untuk menguji spesifikasi, reka bentuk dan pengekodan, penilaian kebolehpercayaan, pengesahan dan pengesahan.

kaedah

Tujuan utama ujian perisian - pengesahan kualiti sistem perisian melalui aplikasi debugging sistematik di bawah keadaan terkawal dengan teliti untuk menentukan kesempurnaan dan ketepatan mereka, serta pengesanan kesilapan tersembunyi.

Cara dan pengesahan (ujian) program boleh dibahagikan kepada statik dan dinamik.

Bekas termasuk tidak rasmi, pemantauan dan kajian teknikal, pemeriksaan, langkah demi langkah analisis, pengauditan, serta analisis aliran data statik dan pengurusan.

teknik dinamik ialah:

  1. ujian kotak putih. Ini adalah satu kajian terperinci logik dalaman dan struktur program. Ia adalah perlu untuk pengetahuan kod sumber.
  2. ujian kotak hitam. Teknik ini tidak memerlukan apa-apa pengetahuan mengenai mekanisme dalaman permohonan. Kami menganggap hanya aspek-aspek asas sistem, tidak mempunyai hubungan atau kaitan dengan beberapa struktur logik dalamannya.
  3. kaedah kotak kelabu. Ia menggabungkan dua pendekatan sebelumnya. Debugging dengan pengetahuan yang terhad dalam fungsi dalaman permohonan itu digabungkan dengan pengetahuan tentang aspek-aspek asas sistem.

ujian telus

Putih kaedah kotak menggunakan skrip ujian mengawal struktur reka bentuk prosedur. Teknik ini membolehkan untuk mendedahkan kesilapan pelaksanaan seperti sistem kod pengurusan yang lemah dengan menganalisis sebahagian daripada mekanisme dalaman perisian. Kaedah ujian adalah berkaitan dengan tahap integrasi, modul dan sistem. Tester yang mesti mempunyai akses kepada kod sumber dan menggunakannya untuk mengetahui bahawa mana-unit berkelakuan tidak sesuai.

Ujian program oleh putih-kotak mempunyai kelebihan berikut:

  • Ia membolehkan untuk mengesan kesilapan dalam kod yang tersembunyi dengan mengeluarkan garis-garis yang tidak perlu;
  • penggunaan kesan sampingan;
  • liputan maksimum dicapai dengan menulis skrip ujian.

kelemahan:

  • proses kos tinggi, yang memerlukan penyahpepijat mahir;
  • banyak jalan kekal belum diterokai kerana cek teliti semua kesilapan tersembunyi mungkin adalah sangat kompleks;
  • beberapa kod itu akan berlalu tanpa disedari.

ujian kotak putih kadang-kadang dirujuk dengan menguji kotak telus atau terbuka, struktur, ujian logik, berdasarkan kod sumber, dan seni bina logik.

Jenis utama:

1) ujian kawalan aliran - strategi struktur menggunakan model aliran kawalan program dan sebagai memihak cara yang lebih mudah untuk sedikit lebih kompleks;

2) Cawangan ini direka untuk mengkaji debugging setiap pilihan (benar atau salah) setiap pengendali kawalan, yang juga termasuk penyelesaian gabungan;

3) Ujian jalan utama, yang membolehkan tester untuk menubuhkan logik kerumitan langkah projek prosedur untuk mengasingkan satu set asas laluan pelaksanaan;

4) memeriksa aliran data - strategi kawalan aliran penyelidikan oleh anotasi maklumat kiraan mengenai iklan dan menggunakan pembolehubah program;

5) kitaran ujian - memberi tumpuan sepenuhnya kepada operasi yang betul proses kitaran.

debugging tingkah laku

ujian kotak hitam merawat perisian sebagai "kotak hitam" - maklumat mengenai mekanisme dalaman program yang tidak dikira dan diperiksa hanya aspek-aspek asas sistem. Dalam kes ini, penguji perlu tahu seni bina sistem tanpa akses kepada kod sumber.

Kelebihan pendekatan ini:

  • kecekapan untuk segmen kod besar;
  • mengurangkan persepsi tester;
  • perspektif pengguna jelas dipisahkan dari perspektif pemaju (programmer dan penguji bebas daripada satu sama lain);
  • penciptaan pesat lebih lagi ujian.

perisian ujian kaedah kotak hitam mempunyai kelemahan berikut:

  • sesungguhnya dilakukan beberapa pilih kes-kes ujian, menyebabkan perlindungan terhad;
  • kekurangan spesifikasi yang jelas sukar untuk membangunkan skrip ujian;
  • kecekapan rendah.

Nama lain bagi teknologi ini - tingkah laku, tidak telus, ujian fungsi dan kaedah debugging kotak tertutup.

Kategori ini mungkin termasuk teknik pengujian perisian berikut:

1) bersamaan dengan partition, yang boleh mengurangkan set data ujian sebagai data modul perisian input dipecahkan kepada bahagian yang berasingan;

2) analisis nilai sempadan memberi tumpuan kepada pengesahan sempadan atau nilai had yang melampau - minimum, maksimum dan nilai tipikal kesilapan;

3) fuzzing - digunakan untuk melaksanakan carian dengan memasukkan kesilapan atau rosak poluiskazhennyh data dalam mod automatik atau separa automatik;

4) pertuduhan sebab dan akibat - teknik berdasarkan penciptaan graf dan menentukan hubungan antara tindakan dan sebab-sebabnya: pengenalan, penafian, logik OR dan logik AND - empat watak utama, menyatakan hubungan antara sebab dan akibat;

5) Pengesahan tatasusunan ortogon digunakan untuk masalah dengan kawasan input yang agak kecil melebihi kemungkinan penyelidikan menyeluruh;

6) ujian semua pasangan - satu teknik di mana satu set nilai ujian terdiri daripada semua kemungkinan kombinasi binari setiap pasangan parameter input;

7) peralihan debugging negeri - teknik yang berguna untuk memeriksa status mesin, serta untuk menavigasi melalui GUI pengguna.

ujian kotak hitam: Contoh

teknik kotak hitam adalah berdasarkan kepada spesifikasi, dokumentasi, dan perihal antara muka perisian atau sistem. Selain itu, anda boleh menggunakan model (formal atau tidak formal), yang mewakili tingkah laku yang diharapkan daripada perisian.

Biasanya, kaedah ini digunakan untuk debugging antara muka pengguna dan memerlukan interaksi dengan permohonan itu dengan memperkenalkan koleksi data dan keputusan - dari skrin, daripada laporan atau cetakan.

tester, oleh itu, berinteraksi dengan perisian dengan memasukkan, dengan bertindak pada suis, butang atau antara muka lain. Pilihan tempat data input, susunan pentadbiran atau urutan tindakan yang boleh membawa kepada beberapa jumlah besar kombinasi, seperti yang ditunjukkan dalam contoh berikut.

Berapa banyak ujian perlu membuat untuk memeriksa semua nilai yang mungkin bagi bendera 4 tingkap dan bidang sekali, tetapkan masa di saat? Di banyak pandangan pertama adalah mudah: 4 bidang dengan kedua-dua negeri mungkin - 24 = 16, yang mesti didarab dengan bilangan jawatan mungkin 00-99, iaitu 1600 ujian mungkin.

Walau bagaimanapun, pengiraan ini adalah salah: kita boleh menentukan bahawa bidang dua mata juga boleh mengandungi ruang, iaitu ia terdiri daripada dua kedudukan abjad angka dan boleh mengandungi aksara abjad angka, aksara khas, ruang, dan lain-lain Oleh itu, jika .... sistem adalah komputer 16-bit, menjadikan 216 = 65536 satu untuk setiap jawatan dalam paduan 4294967296 kes-kes ujian yang perlu didarab dengan 16 gabungan bendera yang memberikan sejumlah 68.719.476 736. Jika mereka melaksanakan pada 1 ujian sesaat, jumlah cont yang ujian olzhitelnost adalah 2 177,5 tahun. Untuk sistem 32 atau 64-bit, tempoh lebih.

Oleh itu terdapat keperluan untuk mengurangkan tempoh ini ke tahap yang boleh diterima. Oleh itu, teknik hendaklah digunakan untuk mengurangkan bilangan kes-kes ujian tanpa mengurangkan skop ujian.

kesetaraan pembahagian

Pembahagian bersamaan adalah kaedah mudah yang boleh digunakan untuk apa-apa pembolehubah yang terdapat di dalam perisian, sama ada input atau output nilai, simbolik, angka, dan lain-lain. Ia adalah berdasarkan kepada prinsip bahawa semua data dari satu bersamaan partition akan dilayan dengan cara yang sama dan oleh arahan yang sama.

Semasa ujian, memilih satu wakil setiap partition kesetaraan tertentu. Ini membolehkan anda untuk secara sistematik mengurangkan bilangan kes-kes ujian mungkin tanpa kehilangan liputan arahan dan fungsi.

Satu lagi akibat daripada pembahagian ini adalah untuk mengurangkan letupan kombinasi antara pembolehubah yang berbeza dan pengurangan yang berkaitan kes-kes ujian.

Sebagai contoh, dalam (1 / x) 1/2 menggunakan tiga urutan data, tiga partition setara:

1. nombor Semua positif akan dilayan dengan cara yang sama dan harus memberi keputusan yang betul.

2. nombor Semua negatif dikendalikan dengan cara yang sama dengan keputusan yang sama. Ini tidak betul, kerana akar nombor negatif adalah khayalan.

3. Zero akan dikendalikan secara berasingan dan memberikan ralat "pembahagian dengan sifar". Ini adalah satu bahagian dengan satu nilai.

Oleh itu, kita melihat tiga bahagian yang berbeza, salah satu yang dikurangkan kepada satu nilai. Ada satu "betul" seksyen, yang memberikan keputusan yang boleh dipercayai, dan dua "salah" dengan keputusan yang tidak betul.

analisis nilai sempadan

Pemprosesan di sempadan pembahagian sama boleh dilakukan secara berbeza daripada yang dijangkakan. Penyiasatan nilai had - satu kaedah yang terkenal menganalisis kelakuan perisian di kawasan itu. Teknik ini membolehkan untuk mengenal pasti kesilapan itu:

  • penggunaan tidak wajar Pengendali hubungan (<,>, =, ≠, ≥, ≤);
  • ralat tunggal;
  • masalah dalam kitaran dan lelaran,
  • jenis salah atau saiz pemboleh ubah yang digunakan untuk menyimpan maklumat;
  • batasan buatan yang berkaitan dengan jenis data dan pembolehubah.

ujian lut

kaedah kotak kelabu meningkatkan liputan ujian, anda boleh memberi tumpuan kepada semua peringkat sukar sistem melalui gabungan teknik hitam dan putih.

Dengan menggunakan teknik ini, tester untuk pembangunan nilai ujian harus mempunyai pengetahuan tentang struktur data dalaman dan algoritma. Contoh kaedah ujian kelabu-box adalah seperti berikut:

  • model seni bina;
  • Unified Modeling Language (UML);
  • model negeri (jentera kerajaan terhingga).

Dalam kaedah kotak kelabu untuk membangunkan kes-kes ujian belajar modul dalam kod kejuruteraan putih, dan ujian sebenar dilakukan pada antara muka program teknologi hitam.

Kaedah ujian mempunyai kelebihan berikut:

  • gabungan kelebihan juruteknik kotak putih dan hitam;
  • Tester adalah berdasarkan pada antara muka dan spesifikasi berfungsi, dan tidak kod sumber;
  • penyahpepijat boleh membuat kes-kes ujian yang besar;
  • menyemak dibuat dari sudut pandangan pengguna, bukan pereka program;
  • mewujudkan pembangunan ujian adat;
  • objektif.

kelemahan:

  • liputan ujian adalah terhad kerana tidak ada akses kepada kod sumber;
  • kerumitan kecacatan dalam aplikasi diedarkan;
  • hati tetap belum diterokai;
  • jika pemaju perisian telah melancarkan ujian, maka siasatan lanjut mungkin berlebihan.

Nama lain untuk teknik kotak kelabu - debugging lut.

Kategori ini termasuk apa-apa kaedah ujian:

1) pelbagai ortogon - penggunaan subset semua kemungkinan kombinasi;

2) debugging matriks menggunakan keadaan data program;

3) pemeriksaan regresif dijalankan di perubahan baru kepada perisian;

4) ujian template yang menganalisis reka bentuk dan seni bina aplikasi yang baik.

Perbandingan teknik ujian perisian

Penggunaan kaedah dinamik membawa kepada letupan kombinasi bilangan ujian yang perlu dibangunkan, dilaksanakan dan dijalankan. Setiap teknik boleh digunakan secara pragmatik, dengan mengambil batasannya kira.

Satu-satunya kaedah sebenar tidak wujud, hanya ada orang-orang yang lebih sesuai dengan konteks tertentu. kejuruteraan struktur membolehkan kita untuk mencari kod yang tidak berguna atau berniat jahat, tetapi mereka adalah kompleks dan tidak berkaitan dengan program-program besar. Kaedah berdasarkan spesifikasi - satu-satunya yang dapat mengenal pasti kod yang hilang, tetapi mereka tidak dapat mengenal pasti orang luar. Beberapa teknik yang lebih sesuai untuk tahap ujian tertentu, jenis kesilapan atau konteks daripada yang lain.

Di bawah ini adalah perbezaan utama antara ketiga-tiga teknik ujian dinamik - diberi Jadual perbandingan antara ketiga-tiga bentuk debugging perisian.

aspek

Kaedah kotak hitam

kaedah kotak kelabu

Cara putih-kotak

Ketersediaan maklumat mengenai komposisi program

Mengkaji hanya aspek-aspek asas

pengetahuan separa tentang struktur dalaman program yang

akses penuh kepada kod sumber

Tahap pemecahan program

rendah

Central

tinggi

Yang menghasilkan debugging?

Pengguna akhir, penguji dan pemaju

Pengguna akhir, pemaju dan debuggers

Pemaju dan penguji

asas

Ujian adalah berdasarkan kepada situasi kecemasan luaran.

Gambar rajah pangkalan data, gambar rajah aliran data, tahap pengetahuan dalaman algoritma dan seni bina

Peranti dalaman sedar sepenuhnya

Tahap perlindungan

Kurang menyeluruh dan memerlukan sekurang-kurangnya masa

Central

Berpotensi yang paling komprehensif. Memakan masa

Data dan sempadan dalaman

Debug hanya oleh percubaan dan kesilapan

Boleh disemak domain data dan sempadan dalaman, jika mereka dikenali

Terbaik domain ujian data dan sempadan dalaman

algoritma ujian kesesuaian

Tiada

Tiada

Ya

automasi

kaedah automatik pengujian perisian adalah lebih memudahkan proses pemeriksaan, tanpa mengira persekitaran teknikal dan konteks. Ia digunakan dalam dua kes:

1) untuk mengautomasikan tugas membosankan, berulang-ulang atau teliti seperti fail berbanding dengan beberapa ribu baris untuk melepaskan masa untuk kepekatan tester mata lebih penting;

2) untuk mengesan atau tugas-tugas yang tidak boleh dengan mudah dilakukan oleh orang-orang seperti pengesahan prestasi atau analisis masa tindak balas yang boleh diukur dalam hundredths saat persembahan.

Alat Ujian boleh dikelaskan dalam cara yang berbeza. Bahagian seterusnya adalah berdasarkan kepada tugas-tugas mereka menyokong:

  • pengurusan ujian, termasuk sokongan projek pengurusan, versi, konfigurasi, analisis risiko, pengesanan ujian, kesilapan, kecacatan, dan alat pelaporan;
  • pengurusan keperluan, termasuk keperluan penyimpanan dan spesifikasi, memeriksa mereka untuk kesempurnaan dan kekaburan, keutamaan mereka dan kebolehkesanan setiap ujian;
  • kajian kritikal dan analisis statik, termasuk pemantauan aliran, dan tugas-tugas, rakaman dan penyimpanan komen, pengesanan kecacatan dan merancang pautan pengurusan pembetulan kepada senarai semak dan peraturan, menjejaki dokumen sumber komunikasi dan kod analisis statik untuk mengesan kecacatan, memastikan pematuhan dengan piawaian kod bertulis, analisis struktur dan kebergantungan, pengiraan parameter metrik kod dan seni bina. Di samping itu, menggunakan penyusun, penganalisis, penjana dan hubungan rujukan silang;
  • pemodelan, yang termasuk alat untuk kelakuan perniagaan model dan menguji model;
  • pembangunan ujian memastikan penjanaan data dijangka berdasarkan syarat dan model antara muka pengguna dan kod, berjaya mencipta atau mengubah suai fail dan pangkalan data, mesej, pengesahan data berdasarkan kaedah-kaedah pengurusan, analisis statistik daripada syarat-syarat dan risiko;
  • gambaran yang kritikal dengan memasukkan data melalui antara muka pengguna, API, baris arahan grafik menggunakan comparators untuk membantu mengenal pasti ujian berjaya dan tidak berjaya;
  • sokongan persekitaran debugging yang membolehkan anda untuk menggantikan perkakasan yang hilang atau perisian, Vol. h. peralatan simulasi berdasarkan subset yang ditetapkan output, emulator terminal, telefon bimbit dan peralatan rangkaian, persekitaran bahasa, sistem operasi dan memeriksa perkakasan dengan menggantikan pemandu komponen hilang, rekaan modul, dan lain-lain, serta sebagai alat untuk menangkap dan mengubah suai OS meminta simulasi CPU had, RAM, ROM, atau rangkaian .;
  • .. Perbandingan fail data, pangkalan data, menyemak keputusan yang diharapkan semasa dan selepas ujian selesai, termasuk dinamik dan kumpulan perbandingan, automatik "Sabda";
  • salutan pengukuran untuk penyetempatan kebocoran memori dan salah tingkah laku kawalan sistem menganggarkan bawah beban aplikasi penjanaan beban, pangkalan data, rangkaian atau pelayan simulasi dalam senario realistik pertumbuhan untuk pengukuran, analisis dan pengesahan laporan sumber sistem;
  • keselamatan;
  • ujian prestasi, beban dan analisis dinamik;
  • alat lain, di dalam Vol. h. untuk memeriksa ejaan dan sintaksis, keselamatan rangkaian, adanya semua muka surat laman web dan lain-lain.

perspektif

Dengan perubahan trend dalam industri perisian, proses debugging juga tertakluk kepada perubahan. Terdapat kaedah baru ujian perisian, seperti seni bina layan orientirovannae (SOA), teknologi tanpa wayar, perkhidmatan mudah alih, dan sebagainya. E., Adakah membuka cara baru perisian ujian. Beberapa perubahan yang dijangka dalam industri sejak beberapa tahun akan datang adalah seperti berikut:

  • penguji akan menyediakan model yang ringan yang pemaju akan dapat untuk memeriksa kod anda;
  • pembangunan kaedah ujian, termasuk tontonan dan model program pada peringkat awal, akan menghapuskan banyak percanggahan;
  • kehadiran ujian aneka interceptions akan memendekkan masa pengesanan kesilapan;
  • analyzer statik dan pengesanan bermakna untuk digunakan dengan lebih meluas;
  • penggunaan matriks mineral, seperti perlindungan spesifikasi, skop model dan kod perlindungan akan menentukan pembangunan projek;
  • alat kombinasi membenarkan penguji untuk menentukan bidang keutamaan bagi debugging;
  • penguji akan menyediakan perkhidmatan yang lebih intuitif dan berharga sepanjang proses pembangunan perisian;
  • debuggers boleh membuat alat dan kaedah ujian perisian yang ditulis dalam dan berinteraksi dengan pelbagai bahasa pengaturcaraan;
  • pakar-pakar debugging akan lebih profesional terlatih.

Akan digantikan dengan kaedah ujian perisian berorientasikan perniagaan baru, untuk menukar cara interaksi dengan sistem dan maklumat yang mereka berikan di samping mengurangkan risiko dan meningkatkan manfaat perniagaan berubah.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.atomiyme.com. Theme powered by WordPress.