Pengujian dalam pelbagai model pembangunan. Penilaian liputan ujian ke atas projek. Pengujian dalam Kitaran Hayat Berulang

Matlamat anda adalah seperti pentadbir sistem
adalah untuk melaksanakan strategi yang berkesan untuk
memaksimumkan sumber komputer anda.


D. Gunter, S. Barnett, L. Gunter.
Penyepaduan Windows NT dan Unix

Pakar IT bukan sahaja perlu membiasakan diri dengan banyak ujian yang diterbitkan dalam akhbar komputer, tetapi juga membangunkan prosedur ujian sendiri, yang diperlukan semasa memilih pembekal dan semasa membuat keputusan sendiri. Oleh itu, kami akan cuba menjawab soalan yang timbul dalam proses ujian yang sukar, terutamanya apabila ia berkaitan dengannya sistem yang kompleks seperti pelayan.

Apakah yang sedang diuji dan mengapa?

Selalunya dalam majalah berkala komputer terdapat pelbagai jenis ulasan program, perkakasan dan penyelesaian. Kepentingan khusus, sebagai peraturan, adalah ulasan perbandingan produk homogen yang berfungsi, yang membentangkan keputusan ujian. Adalah dipercayai bahawa jadual terperinci ini membantu pengguna, pentadbir dan profesional IT untuk sekurang-kurangnya menyedari apa yang berlaku di kawasan ini dan juga memutuskan pilihan produk.

Jadi, apakah faktor yang diambil kira dalam kes sedemikian, apakah objek penyelidikan dan apakah jenis ujian yang paling popular?

Kriteria ujian biasanya:

  • fungsi produk;
  • kemudahan pembelajaran;
  • kemudahan pemasangan;
  • kualiti dokumentasi dan sokongan;
  • prestasi;
  • Untuk peralatan, reka bentuk kadangkala diambil kira.

Terdapat juga kriteria yang sangat samar-samar. Tidak lama dahulu dalam salah satu ulasan pelayan Web semasa menetapkan penilaian keseluruhan dianggap sebagai faktor positif" darjat tinggi penyepaduan dengan sistem pengendalian." Tetapi jika ranap aplikasi menyebabkan sistem pengendalian(kebarangkalian yang berkadar dengan tahap integrasi) - adakah ini benar-benar kelebihan?

Adakah seratus ekor arnab sama dengan seekor harimau?

Secara berasingan, saya ingin memikirkan nisbah harga/prestasi, yang lazimnya semasa menilai perkakasan. Pada pandangan pertama, ini adalah satu-satunya penghubung kriteria objektif spesifikasi teknikal sistem yang dikaji dengan dompet pengguna. Namun, tidak semuanya semudah yang disangka. Hakikatnya ialah pendekatan yang disebutkan di atas hanya berfungsi pada masa pembelian dan tidak mengambil kira kos pemilikan, keselamatan pelaburan dalam peralatan atau perisian, atau kemungkinan pemodenan selanjutnya.

Contoh biasa ialah perbandingan model lama sistem pada Pemproses Intel dengan yang lebih muda dalam barisan platform RISC. Ya, sememangnya, dalam julat yang diberikan julat harga Mesin seni bina Intel adalah setanding dengan, atau dalam beberapa kes bahkan lebih baik daripada, sistem RISC. Walau bagaimanapun, apakah siling untuk beberapa platform sahaja peringkat kemasukan untuk orang lain, dsb.

Kesimpulan: Bersikap kritis terhadap kriteria yang mana produk dinilai—anda dan penguji mungkin mempunyai citarasa yang berbeza. Cuba beritahu peminat Unix itu demi kemudahan GUI Apabila mengkonfigurasi sistem, anda harus menerima keperluan untuk but semula selepas menukar parameter IP. Bagi kekompakan unit sistem, maka ini bagus sehingga anda perlu memasukkan cakera keras tambahan ke dalam sarung tipis.

Pendek kata, fikirkan semula keputusan ujian untuk memenuhi keperluan anda.

Spesifikasi ujian pelayan

Jika komputer tidak dihidupkan, ia rosak.
Jika ia tidak dimatikan, ia adalah pelayan.
Tanda rakyat

Pada pendapat kami, salah satu keperluan asas untuk pelayan adalah kebolehpercayaan. Prestasi, sudah tentu, juga penting, kerana ia mempengaruhi masa tindak balas sistem - ciri yang paling penting dari sudut pandangan pengguna, tetapi ketersediaan perkhidmatan ditentukan oleh kebolehpercayaan. Ketepatan masa penyediaannya, kaitan dan integriti maklumat juga bergantung pada kebolehpercayaan.

Di samping itu, ia harus diambil kira bahawa khusus, iaitu, menyediakan hanya satu perkhidmatan, pelayan masih menjadi pengecualian dan bukannya peraturan. Biasanya, satu komputer sedemikian menggabungkan beberapa fungsi - contohnya, pelayan aplikasi juga boleh berfungsi sebagai pelayan fail, pelayan cetak, pengawal perkhidmatan sandaran dll. Ia adalah tipikal untuk pelayan komunikasi berfungsi dengan berbilang protokol peringkat permohonan, setiap satunya dilayan oleh "daemon" sendiri.

Dan akhirnya, ciri ciri fungsi pelayan adalah kehadiran beban puncak. Sebab penampilan mereka boleh sangat berbeza - dari permulaan hari bekerja dalam organisasi yang besar (terutamanya jika semua pengguna tiba di tempat kerja tepat pada masanya) kepada pemulihan sambungan "terputus" di penyedia perkhidmatan Internet, apabila tertunggak mel dan kumpulan berita mencecah pelayan komunikasi.

Faktor-faktor ini, iaitu keperluan untuk meningkatkan kebolehpercayaan dalam keadaan menyediakan pelbagai perkhidmatan dan beban puncak, harus menjadi kunci apabila menentukan ideologi ujian pelayan.

Malangnya, kebanyakan ulasan yang diterbitkan dalam majalah berkala komputer ditumpukan kepada sama ada membandingkan prestasi penyelesaian perkakasan yang berbeza pada set tugas ujian yang dilakukan secara berurutan, atau ujian perbandingan satu atau perkhidmatan lain (contohnya, menguji pelayan Web pengeluar yang berbeza). Salah satu kes terburuk pendekatan ini ialah apabila ulasan perbandingan keupayaan penyelesaian yang serupa dipanggil ujian hanya kerana pengarang penerbitan menjalankan pemasangan dan "memacu" produk sedikit.

Keadaan ujian

Pertama, sedikit teori. Glenford Myers dalam karyanya "Kebolehpercayaan" perisian" memberikan beberapa "aksiom ujian". Mari cuba, mengikutinya, untuk mempertimbangkan apa dan bagaimana untuk menguji.

Dari semasa ke semasa, laporan yang bersifat hampir sukan muncul dalam akhbar komputer: produk dari syarikat N menunjukkan prestasi rekod dalam ujian M Seberapa informatif ujian yang dijalankan oleh syarikat pembuatan?

Tidak dapat menguji program anda sendiri

Selalunya ujian ditulis oleh pekerja syarikat untuk produk tertentu. Ujian prestasi pemproses, yang ditulis sedemikian rupa untuk merealisasikan kelebihan pemproses tertentu, telah menjadi bualan ramai. Sebagai contoh, saiz program ujian dipilih dengan mengambil kira penempatannya dalam memori cache, dsb. Selalunya perwakilan grafik keputusan sedemikian.

Pengetahuan tentang seni bina aplikasi dan penggunaan sumber OS membolehkan pembangun perisian mengkonfigurasi sistem sedemikian rupa untuk mendapatkan hasil yang maksimum untuk program mereka. Tidak kira sama ada perisian atau perkhidmatan lain akan berasa selesa dengan pemasangan sistem pengendalian sedemikian dan sama ada aplikasi yang diuji akan "merampas sumber".

Pengarang menemui fenomena ini semasa cuba mengkonfigurasi Netscape Enterprise Pelayan Web di bawah Solaris (SPARC). Prestasi pelayan menggunakan protokol http telah meningkat hampir 6 (!) kali (mengikut ujian dengan MS InetLoad), walau bagaimanapun, ujian kompleks peningkatan ternyata tiga kali ganda, manakala prestasi pelayan POP3 meningkat dua kali ganda, pelayan Berita kekal tidak berubah, dan SMTP menunjukkan keputusan dua kali lebih buruk berbanding sebelum perubahan dibuat.

Di samping itu, pengeluar, mengetahui ciri set ujian tertentu, boleh mengoptimumkan parameter sistem khusus untuknya. Contoh ini ialah halaman Web Netscape, yang menyediakan cadangan tentang cara mengkonfigurasi Pelayan Perusahaan Netscape untuk ujian menggunakan SPECweb96.

Pengujian dijalankan untuk mengesan ralat

Dalam kes pelayan dan perisian pelayan, ini bermakna peranti harus dipaksa untuk beroperasi dalam mod yang paling tidak menguntungkan - menjalankan ujian "kemampuan bertahan". Ini boleh dicapai dengan menguji pelayan dalam konfigurasi pengendalian berikut:

  • semua perkhidmatan mesti berjalan;
  • semua perkhidmatan mesti diuji serentak (ujian komprehensif);
  • aliran permintaan dihantar ke setiap perkhidmatan, meniru aktiviti pengguna biasa;
  • aktiviti ini harus meningkat secara berkala semasa ujian sehingga sekurang-kurangnya satu perkhidmatan tidak lagi dapat menampung permintaan pemprosesan.

Dua nota adalah relevan di sini:

1. Model tingkah laku pengguna.

Berhubung dengan pengguna, pentadbir mestilah seorang yang pesimis. Ujian kemandirian harus dibina dengan sewajarnya.

Menyediakan kuantiti maksimum tindakan yang tidak pernah terfikir untuk anda lakukan dalam keadaan biasa. Anggarkan (atau semak) sama ada sistem akan berfungsi secara normal dalam keadaan ini. Dan sama pentingnya, adakah pengguna akan menerima mesej yang jelas daripadanya bahawa ini tidak lagi berbaloi untuk dilakukan dan mengapa.

2. Perkhidmatan telah berhenti mengendalikan permintaan: pilihan yang mungkin.

Mengikut tahap keterukan, kegagalan tersebut boleh dibahagikan kepada 4 kumpulan:

  • prestasi menurun - perkhidmatan tidak mempunyai masa untuk memproses, tetapi bertindak balas dengan betul (mengembalikan kod ralat yang sepadan - "Terlalu banyak sambungan", dll.);
  • penamatan perkhidmatan yang tidak normal, yang tidak memerlukan akibat negatif untuk sistem: program yang sepadan telah menyelesaikan kerjanya, dipunggah dari memori, sumber sistem dilepaskan;
  • penamatan perkhidmatan yang tidak normal, menjejaskan prestasi sistem secara negatif. Program ini sama ada "digantung" dalam senarai proses tanpa mengeluarkan sumber, atau semasa proses penamatan ia merampas sumber tambahan;
  • sistem runtuh - masuk senario kes terbaik diikuti dengan but semula, atau paling teruk, pembekuan.

Sediakan ujian untuk kedua-dua input yang betul dan salah

Aksiom ini memperincikan yang sebelumnya dari segi aliran maklumat input.

Bagaimanakah sistem akan bertindak balas untuk menghantar surat bersaiz beberapa puluh megabait? Adakah ia akan tersekat dalam baris gilir, dengan itu menyekat anda sistem pos(terutamanya jika sambungan dengan hos penerima selalu terganggu), atau adakah ia akan dimusnahkan, dan pengguna memberitahu bahawa tindakan sedemikian tidak boleh diterima?

Nasihat yang diambil dari buku yang sama oleh G. Myers: "Cuba jangan biarkan sistem membuat pengguna marah, kerana ini mungkin membawa kepada beberapa situasi yang tidak dijangka pada input - Peraturan #5 untuk meminimumkan ralat pengguna dalam sistem dialog. Menjadi pesimis tidak tidak bermakna menjadi salah antropo!" .

Bagaimana pula dengan pelayan berita - adakah ia dipasang di sana? saiz maksimum artikel?

Bolehkah seseorang yang berhasrat untuk memuatkan separuh daripada tapak FTP anda membuka tiga dozen sesi FTP selari, dan jika ya, apakah ini akan menjejaskan saluran anda dan kerja orang lain yang ingin melawati FTP?

Sebagai contoh yang mengesahkan ketepatan pendekatan ini, kita boleh menyebut kejadian dengan kapal penjelajah peluru berpandu Yorktown, di mana ralat input pengendali mengakibatkan kegagalan sistem kawalan enjin. Atau satu lagi, dipetik oleh Myers sendiri: "Pengendali sistem penghantaran kenderaan polis New York SPRINT di masa lapang mereka menghiburkan diri mereka sendiri dengan cuba melumpuhkannya dengan memasukkan mesej yang sengaja tidak betul." Ini berlaku pada awal 70-an. Mungkin moral telah menjadi lembut sejak itu, tetapi ini tidak mungkin.

Elakkan ujian yang tidak boleh dibuat semula

Dalam kes menguji pelayan dan perisian pelayan, aksiom ini amat relevan. Pertama, untuk mengujinya, anda perlu mempunyai penjana beban yang dipisahkan perkakasan (Penjana Beban Sisi Pelanggan, CSLG) - biasanya ini adalah kumpulan stesen kerja yang berfungsi bahagian klien menguji dan memastikan aliran permintaan ke pelayan. Kedua, keputusan mungkin dipengaruhi oleh keadaan rangkaian yang menyambungkan pelayan dan CSLG. Di samping itu, dalam banyak kes, prestasi bergantung pada sejarah panggilan ke pelayan. Kebanyakan aplikasi pelayan menggunakan caching. Kelajuan mengakses memori cache jauh lebih tinggi daripada kelajuan mengakses subsistem cakera. Cache aplikasi mungkin terisi kerana program ujian awal atau penyahpepijatan - dan hasilnya mungkin berubah dengan sewajarnya. Lebih-lebih lagi apabila ujian menyeluruh pengaruh silang aplikasi adalah mungkin - contohnya, bilangan permintaan kompleks yang diproses setiap unit masa ke pelayan POP3 atau IMAP bergantung pada saiz kili mel, yang boleh ditingkatkan oleh ujian SMTP sebelumnya. Akhir sekali, tetapan sistem pengendalian mempengaruhi prestasi.

Semua ulasan yang baik mempunyai bahagian mengenai "Cara ujian dijalankan." Dalam sesetengah penerbitan ia lebih terperinci, dalam yang lain kurang - nampaknya masih tiada piawaian untuk menerangkan dan merekodkan ujian. Contoh terbaik ini ialah ujian SPECweb96. Dokumen ini mengambil kira spesifik pengujian iaitu aplikasi pelayan. Tidak seperti penerangan tradisional, terdapat keperluan pembalakan tetapan tambahan sistem pengendalian dan aplikasi yang sedang dikaji - sesuatu yang biasanya hanya disebut secara sepintas lalu walaupun dalam contoh terbaik penerangan ujian.

Mungkin anda sendiri akan menyedari bahawa anda perlu menjalankan ujian anda sendiri. Keperluan ini mungkin timbul dalam kes berikut:

  • anda merancang untuk mengembangkan rangkaian anda, yang akan membawa kepada peningkatan beban pada pelayan yang terletak di dalamnya;
  • anda berhasrat untuk mengemas kini (atau menukar) perisian;
  • anda memutuskan untuk menukar pelayan (atau pelayan) anda kepada yang lebih produktif;
  • Akhirnya, mungkin anda baru saja memutuskan untuk mengetahui "had pertumbuhan" sistem anda.

Langkah pertama anda mungkin adalah melihat ulasan yang diterbitkan. Oleh itu, untuk menggunakan data yang diperoleh oleh orang lain, layan secara kritis dan cuba memahami, antara lain, motivasi orang yang melakukan ujian ini. Dan kemudian segala-galanya bergantung kepada anda - memahami matlamat, memilih atau menulis set ujian yang mencukupi, dan menjalankan ujian itu sendiri dengan betul. Saya berharap bahawa pertimbangan yang digariskan dalam artikel ini akan membantu anda dengan ini.

Rancangan kursus:

1.
Model ujian dan Cara bekerja dengan struktur
2.
Bagaimana untuk membuat cek
1.
2.
Teknik reka bentuk ujian (Kotak hitam)
Gambaran keseluruhan teknik White Box
3.
Bekerja dengan Konsisten
4.
Perumusan cek
5.
Keutamaan
6.
Mengikuti proses dokumentasi ujian

Audit - Perkara yang disemak

1.
Kesempurnaan perlindungan (mengikut keperluan)
2.
Ketekalan (pendua, keperluan bercanggah)
3.
Struktur (sebagaimana dibahagikan kepada bahagian dan ke dalam kit ujian bagaimana mereka mengalahkan anda untuk cek)
4.
Kandungan semakan (perkataan, kebolehfahaman kepada semua peserta projek)
5.
Reka bentuk (kesilapan perkeranian, penampilan kemas)
6.
Salutan (Asap/MAT/AT)
7.
Pematuhan proses (proses bekerja dengan dokumentasi ujian)

Ralat untuk semua jenis dokumentasi
Celik huruf
60
10,4
Meliputi semua fungsi
cek
42
9,4
Pecahan Fungsi
6,4
Penampilan
6,2
Gaya bujang
2,1
Kaedah Dokumen
2,1
Kaedah keputusan
2
55
38
14
20
17
% daripada semua projek
% daripada semua ralat

Ralat untuk Tinjauan Ujian, Kes Ujian
Melangkau cek
12,6
Dijangka
hasil
Pendua
Gaya bujang
Kontroversi
Keutamaan
70
47
6
38
3,5
25
2,4
25
1,6
1,4
19
% daripada semua projek
% daripada semua ralat

Model ujian

- Ini struktur logik, menerangkan kefungsian
sistem dan/atau tingkah laku pengguna, mengikut mana
kes ujian dijana. Membina model ujian
bermula dengan pembinaan struktur, dan kemudian diluluskan
struktur dipenuhi dengan kes ujian/cek.
(c) Dmitry Tishchenko. Blog A1QA, 2014

Liputan pemeriksaan

1) Kehendak pelanggan semasa dalam spesifikasi\keperluan\susun atur
2) Perjanjian mengenai projek
3) Ketersediaan pemeriksaan yang diperlukan untuk setiap fungsi:
Teknik reka bentuk ujian:




Ujian Pembahagian Setara
Ujian Nilai Sempadan
Ujian berpasangan
Ujian peralihan negeri

Pembahagian Kesetaraan

TEKNOLOGI KELAS YANG SETARAF

*untuk memudahkan contoh, mari kita ambil harga tetap

1) Bahagikan parameter input ke dalam kelas

Parameter
Kelas 1
Kelas 2
Versi Produk
Standard
Premium
<0
0 <= количество < 100
Kuantiti
Kelas 3
>= 100
*Voice of Reason - untuk “Versi Produk” anda perlu menguji SEMUA nilai daripada kelas nilai yang sah.
Sebagai contoh, untuk medan Pembayaran (nilai: kad, tunai, pindahan), adalah logik untuk menguji SEMUA pilihan secara berasingan

2) 1 kelas == 1 semak

Versi Produk
Kes 1
Standard
Kes 2
Premium
Kuantiti

2) 1 kelas == 1 semak

Versi Produk
Kes 1
Standard
Kes 2
Premium
Kuantiti
Kes 3
-1
Kes 4
16
Kes 5
125

3) Semakan negatif hanya untuk kelas pertama dalam kes itu

Versi Produk
Kuantiti
Hasilnya
Kes 1
Standard
50
Positif
Kes 2
Premium
50
Positif
Kes 3
Standard
-1
Negatif
Kes 4
Standard
16
Positif
Kes 5
Standard
125
Negatif

4) Pertimbangkan semula pemeriksaan positif

Versi Produk
Kuantiti
Hasilnya
Kes 1
Standard
50
Positif
Kes 2
Premium
50
Positif
Kes 3
Standard
-1
Negatif
Kes 4
Standard
16
Positif
Kes 5
Standard
125
Negatif

5) Jumlah

Versi Produk
Kuantiti
Hasilnya
Kes 1
Premium
50
Positif
Kes 2
Standard
-1
Negatif
Kes 3
Standard
16
Positif
Kes 4
Premium
125
Negatif

Lagi kelas...

Parameter
Kelas 1
Kelas 2
Versi Produk
Standard
Premium
<0
0 <= Кол-во < 100
pecahan
keseluruhan
Nombor
Bukan nombor
Kuantiti
Kelas 3
> 100
kosong

Versi Produk
Kuantiti
Hasilnya
Kes 1
Standard
50
Positif
Kes 2
Premium
10
Positif
Kes 3
Premium
-1
Negatif
Kes 4
Standard
16
Positif
Kes 5
Premium
150
Negatif
Kes 6
Premium
19,45
Negatif
Kes 7
Premium
%Nombor!
Negatif
Kes 8
Standard
-
Negatif

Versi Produk
Kuantiti
Hasilnya
Kes 1
Standard
50
Positif
Kes 2
Premium
10
Positif
Kes 3
Premium
-1
Negatif
Kes 4
Standard
16
Positif
Kes 5
Premium
150
Negatif
Kes 6
Premium
19.45
Negatif
Kes 7
Premium
%Nombor!
Negatif
Kes 8
Standard
-
Negatif

~30% kes positif

Versi Produk
Kuantiti
Hasilnya
Kes 1
Standard
50
Positif
Kes 2
Premium
10
Positif
Kes 3
Premium
-1
Negatif
Kes 4
Premium
150
Negatif
Kes 5
Premium
19.45
Negatif
Kes 6
Premium
%Nombor!
Negatif
Kes 7
Standard
-
Negatif

Fungsi
Parameter input
Penerima
Hantar
Subjek
Badan
Fail
Lampirkan
Fail
Memformat Teks
Padam
batal
Kelas 1
Kelas 2
Alamat sedia ada Alamat tidak wujud
Saiz 0
0 < Размер <= Limit
Mengandungi @ simbol
._-+
Simbol selain @ . _ - +
Format
Bukan format
Saiz 0
0 < Размер <= Limit
Mengandungi aksara
kecuali “∞₽₾₾©¥£µ®” Simbol ∞₽₾₾©¥£µ®
Saiz 0
0 < Размер <= Limit
Memformat
Tiada pemformatan
Tidak
satu
Saiz 0
0 < Размер <= Limit
Disokong
Tidak disokong
Tiada teks dipilih
pilih
Teks
pemformatan
klik
Kelas 3
Saiz > Had
Saiz > Had
Saiz > Had
banyak
Saiz > Had
Diformat
teks ke


1
2
Penerima
wujud
0 < Размер <= Limit
Subjek
0 < Размер <= Limit
Mengandungi aksara
kecuali “∞₽₾₾©¥£µ®”
3 Mengandungi @ simbol. _ 0< Размер <= Limit
-+
4 Format
0 < Размер <= Limit
5 Alamat tidak wujud 0< Размер <= Limit
6 Saiz 0
Mengandungi aksara
kecuali “∞₽₾₾©¥£µ®”
7 Saiz > Had
Mengandungi aksara
kecuali “∞₽₾₾©¥£µ®”
8 Bukan format
0 < Размер <= Limit
9 0 < Размер <= Limit
Saiz 0
10 0 < Размер <= Limit
Saiz > Had
11 0 < Размер <= Limit
Mengandungi aksara
“∞₽₾₾©¥£µ®”
12 Ada
0 < Размер <= Limit
0 < Размер <= Limit
Memformat
Tidak
satu
Dijangka
hasil
Dihantar
Dihantar
0 < Размер <= Limit
Tiga
Dihantar
0 < Размер <= Limit
0 < Размер <= Limit
Memformat
Tiga
Tidak
satu
Dihantar
Tidak dihantar
Tidak dihantar
Memformat
satu
Tidak dihantar
0 < Размер <= Limit
Memformat
0 < Размер <= Limit
0 < Размер <= Limit
Tidak
satu
Tiga
Tiga
Tidak dihantar
Tidak dihantar
Tidak dihantar
Tidak dihantar
Saiz > Had
Tidak
Tidak dihantar
Badan
Fail

#
Input
Hasilnya
batal
Batalkan pemadaman
Teks tidak dipilih\jangan pilih
pemformatan
Surat dipadamkan
Surat itu belum dipadamkan
Teks
Pemformatan digunakan
4
Teks kaya
Pemformatan baharu digunakan
5
Saiz dan format yang tersedia
nilai
Fail dilampirkan
Jangan nyatakan fail
Fail tidak dilampirkan
Tentukan fail dengan saiz yang tidak sah
(min< или >maks)
Fail tidak dilampirkan
Tentukan fail yang tidak disokong
Fail tidak dilampirkan
1
Fungsi
Penyingkiran
2
3
6
7
8
Memformat
Lampiran
fail
Sistem tidak menggunakan pemformatan

Nilai sempadan

TEKNIK NILAI HAD

Tugas: Buat kes ujian untuk Pelan Pemindahan

Tugas: Buat kes ujian untuk Pelan Pemindahan

0
Ujian Asas
Untuk menenangkan saraf
Ujian Negatif
99

99
0
0
99



Mencari semua pasangan (lihat graf)
Dalam matematik, ini ialah produk Cartesian:
Pelan_Pemindahan x Penilaian_Risiko = ((a,b) | a ∈ Pelan_Pemindahan, b ∈ Penilaian_Risiko)
Pelan_Pemindahan x Penilaian_Risiko =
{ (-1,-1),
(-1,0), (-1,1),
(-1,50),
(-1,98), (-1,99), (-1,100),
(0,-1),
(0,0),
(0,1),
(0,50),
(0,98),
(0,99),
(0,100),
(1,-1),
(1,0),
(1,1),
(1,50),
(1,98),
(1,99),
(1,100),
(50,-1), (50,0), (50,1), (50,50),
(50,98), (50,99), (50,100),
(98,-1), (98,0), (98,1), (98,50),
(98,98), (98,99), (98,100),
(99,-1), (99,0), (99,1),
(99,50), (99,98), (99,99),
(99,100),
(100,-1), (100,0), (100,1), (100,50), (100,98), (100,99), (100,100),
}
7x7 = 49 cek

Pelan_Pemindahan = (-1, 0, 1, 50, 98, 99, 100)
Penilaian_Risiko = (-1, 0, 1, 50, 98, 99, 100)
EP_Type = (Standard, Premium)
RA_Type = (Standard, Premium)
Bilangan kes = 7 * 7 * 2 * 2 = 196

Ujian Berpasangan

TEKNIK MENGUJI SEMUA PASANGAN

Tugasan

Storan data (5): PostgreSQL, Oracle, MySQL, JSON, XML
Sistem pengendalian (4): Windows 7, 8, 10, OS X 10
RAM (3): 1,024 MB, 4,096 MB, 8,192 MB
HDD (2): SCSI, IDE
Carian penuh = 5 * 4 * 3 * 2 = 120 pilihan

Idea

1. Uji pasangan nilai, bukan carian menyeluruh
2. Bukti empirikal keberkesanan
3. Semua pilihan teknik masif Pairs/Orthogonal

Bekerja dengan ortogonal
tatasusunan

1
2
3
4
5
Data
PostgreSQL
Oracle
MySQL
JSON
XML
OS
Windows 7
Windows 8
Windows 10
OS X 10
RAM
1 024 MB
4 096 MB
8 192 MB
HDD
SCSI
IDE

Bekerja dengan ortogonal
tatasusunan
1. Fahami apa dan berapa banyak parameter input:
1
2
3
4
5
Data
PostgreSQL
Oracle
MySQL
JSON
XML
OS
Windows 7
Windows 8
Windows 10
OS X 10
RAM
1 024 MB
4 096 MB
8 192 MB
HDD
SCSI
IDE

Bekerja dengan ortogonal
tatasusunan
1. Fahami apa dan berapa banyak parameter input:
Penyimpanan data
OS
RAM
HDD
Lajur 5
Lajur 6
1
1
1
1
1
1
1
2
2
2
2
2
1
3
3
3
3
3
1
4
4
4
4
4
1
5
5
5
5
5
2
1
2
3
4
5
2
2
3
4
5
1
1
2
3
4
5
2
3
4
5
1
2
Data
PostgreSQL
Oracle
MySQL
JSON
XML
2
4
5
1
2
3
OS
Windows 7
Windows 8
Windows 10
OS X 10
2
5
1
2
3
4
3
1
3
5
2
4
RAM
1 024 MB
4 096 MB
8 192 MB
3
2
4
1
3
5
HDD
SCSI
IDE
3
3
5
2
4
1
3
4
1
3
5
2
3
5
2
4
1
3
4
1
4
2
5
3
4
2
5
3
1
4
4
3
1
4
2
5
4
4
2
5
3
1
4
5
3
1
4
2
5
1
5
4
3
2
5
2
1
5
4
3
5
3
2
1
5
4
5
4
3
2
1
5
5
5
4
3
2
1
2. Pilih tatasusunan ortogon yang sesuai – L25(56 ^6)

Bekerja dengan ortogonal
tatasusunan
1. Fahami apa dan berapa banyak parameter input:
1
2
3
4
5
Data
PostgreSQL
Oracle
MySQL
JSON
XML
OS
Windows 7
Windows 8
Windows 10
OS X 10
RAM
1 024 MB
4 096 MB
8 192 MB
HDD
SCSI
IDE
2. Pilih tatasusunan ortogon yang sesuai -
3. Membina tatasusunan ortogon
4. Alih keluar LAjur yang tidak diperlukan
L25(56^6)
Penyimpanan data
OS
RAM
HDD
1
1
1
1
1
2
2
2
1
3
3
3
1
4
4
4
1
5
5
5
2
1
2
3
2
2
3
4
2
3
4
5
2
4
5
1
2
5
1
2
3
1
3
5
3
2
4
1
3
3
5
2
3
4
1
3
3
5
2
4
4
1
4
2
4
2
5
3
4
3
1
4
4
4
2
5
4
5
3
1
5
1
5
4
5
2
1
5
5
3
2
1
5
4
3
2
5
5
4
3

Bekerja dengan ortogonal
tatasusunan
1. Fahami apa dan berapa banyak parameter input:
Penyimpanan data
OS
RAM
HDD
1
PostgreSQL
Windows 7
1 024 MB
SCSI
2
PostgreSQL
Windows 8
4 096 MB
IDE
3
PostgreSQL
Windows 10
8 192 MB
SCSI
4
PostgreSQL
OS X 10
1 024 MB
SCSI
5
PostgreSQL
Windows 10
1 024 MB
SCSI
6
Oracle
Windows 7
4 096 MB
SCSI
7
Oracle
Windows 8
8 192 MB
SCSI
1
2
3
4
5
8
Oracle
Windows 10
1 024 MB
SCSI
Data
PostgreSQL
Oracle
MySQL
JSON
XML
9
Oracle
OS X 10
1 024 MB
SCSI
OS
Windows 7
Windows 8
Windows 10
OS X 10
10
Oracle
Windows 10
1 024 MB
IDE
11
MySQL
Windows 7
8 192 MB
SCSI
RAM
1 024 MB
4 096 MB
8 192 MB
12
MySQL
Windows 8
1 024 MB
SCSI
HDD
SCSI
IDE
13
MySQL
Windows 10
4 096 MB
IDE
14
MySQL
OS X 10
1 024 MB
SCSI
15
MySQL
OS X 10
4 096 MB
SCSI
16
JSON
Windows 7
4 096 MB
IDE
17
JSON
Windows 8
4 096 MB
SCSI
18
JSON
Windows 10
1 024 MB
SCSI
19
JSON
OS X 10
4 096 MB
SCSI
20
JSON
OS X 10
8 192 MB
SCSI
21
XML
Windows 7
4 096 MB
SCSI
22
XML
Windows 8
1 024 MB
SCSI
23
XML
Windows 10
4 096 MB
SCSI
24
XML
OS X 10
8 192 MB
IDE
25
XML
Windows 10
4 096 MB
SCSI
2. Pilih tatasusunan ortogon yang sesuai – L25(56 ^6)
3. Membina tatasusunan ortogon
4. Alih keluar LAjur yang tidak diperlukan
5. Masukkan nilai parameter input
6. Isi tempat kosong + semak pasangan untuk kesesuaian

GAMBAR
Penyimpanan data
OS
RAM
HDD
1
JSON
OSX_10
4096MB
SCSI
2
Oracle
Windows7
1024MB
IDE
3
MySQL
Windows10
8192MB
IDE
4
Oracle
Windows8
8192MB
SCSI
5
JSON
Windows8
1024MB
IDE
6
JSON
Windows7
8192MB
SCSI
7
Oracle
Windows10
1024MB
SCSI
8
XML
Windows7
4096MB
IDE
9
MySQL
OSX_10
1024MB
SCSI
10
JSON
Windows10
4096MB
SCSI
11
XML
Windows10
8192MB
SCSI
12
PostgreSQL
Windows8
4096MB
SCSI
13
MySQL
Windows7
4096MB
SCSI
14
XML
Windows8
1024MB
IDE
15
PostgreSQL
Windows7
1024MB
IDE
16
XML
OSX_10
8192MB
IDE
17
PostgreSQL
Windows10
8192MB
SCSI
18
MySQL
Windows8
4096MB
IDE
19
PostgreSQL
OSX_10
8192MB
IDE
20
Oracle
OSX_10
4096MB
SCSI

105*16*2*4*5*2 = 134 400

1
2
3
4
5

105
Subjek
bahasa arab
Sejarah Seni
Biologi
Perniagaan
Kajian
Kimia

EAL
Peringkat sekolah (16)
peringkat rendah
Tengah
tinggi
Luas Sekolah
Tinggi/Tengah

Kemungkinan
Pasti
Tentatif
Pekerjaan
taip
penuh
Bahagian
Pengganti
Sementara
Panjang kontrak
1
2
3
4
Surat iringan
  • Tutorial

selamat hari!

Saya ingin mengumpul semua teori yang paling diperlukan mengenai ujian, yang ditanya semasa temu bual dengan pelatih, junior dan orang tengah kecil. Sebenarnya, saya sudah mengumpul agak banyak. Tujuan siaran ini adalah untuk menambah secara kolektif apa yang terlepas dan membetulkan/memparafrasa/menambah/melakukan Sesuatu yang Lain dengan apa yang sudah ada, supaya ia menjadi baik dan anda boleh mengambil semuanya dan mengulanginya sebelum temu duga seterusnya, untuk berjaga-jaga. . Secara umum, rakan sekerja, saya bertanya di bawah pemotongan siapa yang harus belajar sesuatu yang baru, siapa yang harus sistematik yang lama, dan siapa yang harus menyumbang.

Hasilnya mestilah helaian panduan komprehensif yang anda perlukan untuk membaca semula semasa perjalanan ke temu duga.

Semua yang disenaraikan di bawah tidak dicipta oleh saya secara peribadi, tetapi diambil dari pelbagai sumber, di mana saya secara peribadi lebih menyukai perkataan dan definisi. Pada akhir adalah senarai sumber.

Topik: definisi ujian, kualiti, pengesahan / pengesahan, matlamat, peringkat, pelan ujian, mata pelan ujian, reka bentuk ujian, teknik reka bentuk ujian, matriks kebolehkesanan, kes ujian, senarai semak, kecacatan, ralat/kecacatan/kegagalan, laporan pepijat , keterukan vs keutamaan, tahap ujian, jenis / jenis, pendekatan kepada ujian penyepaduan, prinsip ujian, ujian statik dan dinamik, penerokaan / ujian ad-hoc, keperluan, kitaran hayat pepijat, peringkat pembangunan perisian, jadual keputusan, jurutera qa/qc/ujian, gambar rajah sambungan.

jom pergi!

Ujian perisian- menyemak surat-menyurat antara tingkah laku sebenar dan jangkaan program, dijalankan pada set ujian terhingga yang dipilih dengan cara tertentu. Dalam erti kata yang lebih luas, pengujian adalah salah satu teknik kawalan kualiti yang merangkumi aktiviti perancangan kerja (Pengurusan Ujian), reka bentuk ujian (Test Design), pelaksanaan ujian (Test Execution) dan analisis keputusan (Test Analysis).

Kualiti Perisian ialah satu set ciri perisian yang berkaitan dengan keupayaannya untuk memenuhi keperluan yang dinyatakan dan dijangkakan.

Pengesahan ialah proses menilai sistem atau komponennya untuk menentukan sama ada keputusan peringkat pembangunan semasa memenuhi syarat yang dibentuk pada permulaan peringkat ini. Itu. sama ada matlamat, tarikh akhir dan tugas pembangunan projek kami yang ditakrifkan pada permulaan fasa semasa sedang dipenuhi.
Pengesahan- ini adalah penentuan pematuhan perisian yang dibangunkan dengan jangkaan dan keperluan pengguna, keperluan sistem.
Anda juga boleh mencari tafsiran lain:
Proses menilai pematuhan produk dengan keperluan eksplisit (spesifikasi) adalah pengesahan, sementara pada masa yang sama, menilai sama ada produk memenuhi jangkaan dan keperluan pengguna adalah pengesahan. Anda juga selalunya boleh mencari takrifan konsep berikut:
Pengesahan - ‘adakah ini spesifikasi yang betul?’.
Pengesahan - ‘adakah sistem betul mengikut spesifikasi?’.

Matlamat Ujian
Meningkatkan kemungkinan bahawa aplikasi yang dimaksudkan untuk ujian akan berfungsi dengan betul dalam semua keadaan.
Meningkatkan kemungkinan bahawa aplikasi yang diuji akan memenuhi semua keperluan yang diterangkan.
Menyediakan maklumat terkini tentang keadaan semasa produk.

Peringkat ujian:
1. Analisis
2. Pembangunan strategi ujian
dan merancang prosedur kawalan kualiti
3. Bekerja dengan keperluan
4. Penciptaan dokumentasi ujian
5. Ujian prototaip
6. Ujian asas
7. Penstabilan
8. Operasi

Rancangan Ujian- ini adalah dokumen yang menerangkan keseluruhan skop kerja ujian, bermula daripada penerangan tentang objek, strategi, jadual, kriteria untuk memulakan dan menamatkan ujian, kepada peralatan yang diperlukan dalam proses, pengetahuan khusus, serta penilaian risiko dengan pilihan untuk resolusi mereka.
Menjawab soalan:
Apa yang patut diuji?
Apakah yang akan anda uji?
Bagaimana anda akan menguji?
Bilakah anda akan menguji?
Kriteria untuk memulakan ujian.
Kriteria penyelesaian ujian.

Perkara utama rancangan ujian
Piawaian IEEE 829 menyenaraikan perkara yang harus (mungkin) terdiri daripada rancangan ujian:
a) Pengecam pelan ujian;
b) Pengenalan;
c) Item ujian;
d) Ciri-ciri yang akan diuji;
e) Ciri-ciri yang tidak perlu diuji;
f) Pendekatan;
g) Kriteria lulus/gagal item;
h) Kriteria penggantungan dan keperluan penyambungan semula;
i) Hasil ujian;
j) Tugas-tugas ujian;
k) Keperluan alam sekitar;
l) Tanggungjawab;
m) Keperluan kakitangan dan latihan;
n) Jadual;
o) Risiko dan luar jangka;
p) Kelulusan.

Reka bentuk ujian- ini ialah peringkat proses ujian perisian di mana kes ujian (kes ujian) direka bentuk dan dicipta mengikut kriteria kualiti dan matlamat ujian yang ditetapkan sebelum ini.
Peranan yang bertanggungjawab untuk reka bentuk ujian:
Penganalisis ujian - menentukan "APA yang hendak diuji?"
Pereka ujian - menentukan "BAGAIMANA untuk menguji?"

Menguji teknik reka bentuk

Pembahagian Kesetaraan (EP). Sebagai contoh, jika anda mempunyai julat nilai yang sah dari 1 hingga 10, anda mesti memilih satu nilai yang betul di dalam selang, katakan 5, dan satu nilai yang salah di luar selang, 0.

Analisis Nilai Sempadan (BVA). Jika kita mengambil contoh di atas, kita akan memilih had minimum dan maksimum (1 dan 10) sebagai nilai untuk ujian positif, dan nilai lebih besar dan kurang daripada had (0 dan 11). Analisis nilai sempadan boleh digunakan pada medan, rekod, fail atau sebarang jenis entiti yang dikekang.

Punca/Kesan - CE. Ini, sebagai peraturan, memasukkan kombinasi syarat (sebab) untuk mendapatkan tindak balas daripada sistem (Kesan). Sebagai contoh, anda sedang menguji keupayaan untuk menambah pelanggan menggunakan paparan tertentu. Untuk melakukan ini, anda perlu memasukkan beberapa medan seperti "Nama", "Alamat", "Nombor Telefon" dan kemudian klik butang "Tambah" - ini adalah "Sebab". Selepas mengklik butang "Tambah", sistem menambah pelanggan ke pangkalan data dan menunjukkan nombornya pada skrin - ini ialah "Penyiasatan".

Ujian Lengkap (ET)- ini adalah kes yang melampau. Dalam teknik ini, anda harus menyemak semua kemungkinan kombinasi nilai input, dan pada dasarnya, ini akan menemui semua masalah. Dalam praktiknya, penggunaan kaedah ini tidak dapat dilakukan kerana jumlah nilai input yang besar.

Matriks kebolehkesanan- Matriks pematuhan keperluan ialah jadual dua dimensi yang mengandungi korespondensi antara keperluan fungsian produk dan kes ujian yang disediakan. Tajuk lajur jadual mengandungi keperluan, dan tajuk baris mengandungi senario ujian. Di persimpangan terdapat tanda yang menunjukkan bahawa keperluan lajur semasa diliputi oleh kes ujian baris semasa.
Matriks pematuhan keperluan digunakan oleh jurutera QA untuk mengesahkan liputan ujian produk. MCT adalah bahagian penting dalam rancangan ujian.

Kes Ujian ialah artifak yang menerangkan satu set langkah, keadaan khusus dan parameter yang diperlukan untuk menyemak pelaksanaan fungsi yang sedang diuji atau bahagiannya.
Contoh:
Tindakan Hasil Jangkaan Keputusan Ujian
(lulus/gagal/sekat)
Buka halaman "log masuk" Halaman log masuk dibuka Lulus

Setiap kes ujian mesti mempunyai 3 bahagian:
PraSyarat Senarai tindakan yang membawa sistem kepada keadaan yang sesuai untuk ujian asas. Atau senarai syarat, yang memenuhinya menunjukkan bahawa sistem berada dalam keadaan yang sesuai untuk menjalankan ujian utama.
Huraian Kes Ujian Senarai tindakan yang memindahkan sistem dari satu keadaan ke keadaan lain untuk mendapatkan hasil yang berdasarkannya dapat disimpulkan bahawa pelaksanaannya memenuhi keperluan.
PostConditions Senarai tindakan yang memindahkan sistem ke keadaan awal (keadaan sebelum ujian - keadaan awal)
Jenis Kes Ujian:
Kes ujian dibahagikan mengikut keputusan yang dijangkakan kepada positif dan negatif:
Kes ujian positif hanya menggunakan data yang betul dan mengesahkan bahawa aplikasi telah melaksanakan fungsi yang dipanggil dengan betul.
Kes ujian negatif beroperasi dengan kedua-dua data yang betul dan salah (sekurang-kurangnya 1 parameter yang salah) dan bertujuan untuk menyemak situasi luar biasa (pengesah dicetuskan), dan juga menyemak bahawa fungsi yang dipanggil oleh aplikasi tidak dilaksanakan apabila pengesah dicetuskan.

Senarai semak ialah dokumen yang menerangkan perkara yang perlu diuji. Pada masa yang sama, senarai semak boleh mempunyai tahap perincian yang sama sekali berbeza. Seberapa terperinci senarai semak itu bergantung pada keperluan pelaporan, tahap pengetahuan produk pekerja dan kerumitan produk.
Sebagai peraturan, senarai semak hanya mengandungi tindakan (langkah), tanpa hasil yang diharapkan. Senarai semak kurang formal daripada skrip ujian. Adalah sesuai untuk menggunakannya apabila skrip ujian berlebihan. Senarai semak juga dikaitkan dengan pendekatan yang fleksibel untuk ujian.

Kecacatan (aka pepijat) adalah percanggahan antara hasil sebenar pelaksanaan program dan hasil yang dijangkakan. Kecacatan ditemui semasa peringkat ujian perisian, apabila penguji membandingkan keputusan program (komponen atau reka bentuk) dengan hasil yang dijangkakan yang diterangkan dalam spesifikasi keperluan.

ralat- ralat pengguna, iaitu, dia cuba menggunakan program dengan cara yang berbeza.
Contoh - memasukkan huruf ke dalam medan di mana anda perlu memasukkan nombor (umur, kuantiti barang, dll.).
Program berkualiti tinggi menyediakan situasi sedemikian dan memaparkan mesej ralat dengan palang merah.
Pepijat (cacat)- ralat oleh pengaturcara (atau pereka bentuk atau sesiapa sahaja yang mengambil bahagian dalam pembangunan), iaitu, apabila sesuatu dalam program tidak berjalan seperti yang dirancang dan program menjadi tidak terkawal. Sebagai contoh, apabila input pengguna tidak dikawal dalam apa-apa cara, akibatnya, data yang salah menyebabkan ranap atau "kegembiraan" lain dalam pengendalian program. Atau program dibina secara dalaman sedemikian rupa sehingga ia pada mulanya tidak sesuai dengan apa yang diharapkan daripadanya.
Kegagalan- kegagalan (dan tidak semestinya perkakasan) dalam pengendalian komponen, keseluruhan program atau sistem. Maksudnya, ada kecacatan yang membawa kepada kegagalan (A defect caused the failure) dan ada yang tidak. Kecacatan UI contohnya. Tetapi kegagalan perkakasan yang tiada kaitan dengan perisian juga adalah kegagalan.

Laporan pepijat ialah dokumen yang menerangkan situasi atau urutan tindakan yang membawa kepada operasi objek ujian yang salah, menunjukkan sebab dan hasil yang dijangkakan.
Cap
Penerangan ringkas (Ringkasan) Penerangan ringkas tentang masalah, dengan jelas menunjukkan punca dan jenis situasi ralat.
Nama Projek projek yang diuji
Komponen Aplikasi (Komponen) Nama bahagian atau fungsi produk yang diuji
Nombor versi Versi yang ralat ditemui
Keterukan Sistem lima peringkat yang paling biasa untuk menggredkan keterukan kecacatan ialah:
Penghalang S1
S2 Kritikal
S3 Ketara (Major)
S4 Kecil
S5 remeh
Keutamaan Keutamaan kecacatan:
P1 Tinggi
P2 Sederhana
P3 Rendah
Status Status pepijat. Bergantung pada prosedur yang digunakan dan kitaran hayat pepijat (aliran kerja pepijat dan kitaran hayat)

Pengarang (Pengarang) Pencipta laporan pepijat
Ditugaskan Kepada Nama orang yang ditugaskan untuk masalah.
Persekitaran
OS / Pek Perkhidmatan, dsb. / Pelayar + versi /… Maklumat tentang persekitaran di mana pepijat ditemui: sistem pengendalian, pek perkhidmatan, untuk ujian WEB - nama dan versi penyemak imbas, dsb.

Penerangan
Langkah-langkah untuk Menghasilkan Semula Langkah-langkah yang anda boleh mengeluarkan semula situasi yang membawa kepada ralat dengan mudah.
Keputusan Sebenar Hasil yang diperolehi setelah melalui langkah-langkah untuk membiak
Hasil Jangkaan Jangkaan keputusan yang betul
Alat tambah
Lampiran Fail log, tangkapan skrin atau sebarang dokumen lain yang boleh membantu menjelaskan punca ralat atau menunjukkan cara untuk menyelesaikan masalah.

Keterukan vs Keutamaan
Keterukan ialah atribut yang mencirikan kesan kecacatan pada prestasi aplikasi.
Keutamaan ialah atribut yang menunjukkan keutamaan melaksanakan tugas atau menghapuskan kecacatan. Kita boleh mengatakan bahawa ini adalah alat pengurus perancangan kerja. Lebih tinggi keutamaan, lebih cepat kecacatan perlu diperbaiki.
Keterukan didedahkan oleh penguji
Keutamaan - pengurus, ketua pasukan atau pelanggan

Penggredan Keterukan Kecacatan (Keterukan)

Penghalang S1
Ralat menyekat yang menyebabkan aplikasi tidak berfungsi, menjadikan kerja lebih lanjut dengan sistem yang sedang diuji atau fungsi utamanya mustahil. Menyelesaikan masalah adalah perlu untuk berfungsi selanjutnya sistem.

S2 Kritikal
Ralat kritikal, logik perniagaan utama yang tidak berfungsi, lubang dalam sistem keselamatan, masalah yang membawa kepada ranap sementara pelayan atau menyebabkan beberapa bahagian sistem tidak berfungsi, tanpa keupayaan untuk menyelesaikan masalah menggunakan titik masuk lain. Menyelesaikan masalah adalah perlu untuk kerja selanjutnya dengan fungsi utama sistem yang sedang diuji.

S3 Major
Ralat yang ketara, sebahagian daripada logik perniagaan utama tidak berfungsi dengan betul. Ralat tidak kritikal atau mungkin untuk berfungsi dengan fungsi yang sedang diuji menggunakan titik input lain.

S4 Kecil
Ralat kecil yang tidak melanggar logik perniagaan bahagian aplikasi yang sedang diuji, masalah antara muka pengguna yang jelas.

S5 remeh
Ralat remeh yang tidak menjejaskan logik perniagaan aplikasi, masalah yang tidak dapat dihasilkan semula yang hampir tidak dapat dilihat melalui antara muka pengguna, masalah dengan perpustakaan atau perkhidmatan pihak ketiga, masalah yang tidak memberi kesan kepada kualiti keseluruhan produk tersebut.

Penggredan Keutamaan Kecacatan (Keutamaan)
P1 Tinggi
Ralat mesti diperbetulkan secepat mungkin, kerana... kehadirannya adalah penting untuk projek itu.
P2 Sederhana
Ralat mesti diperbetulkan; kehadirannya tidak kritikal, tetapi memerlukan penyelesaian wajib.
P3 Rendah
Kesilapan mesti diperbetulkan; kehadirannya tidak kritikal dan tidak memerlukan penyelesaian segera.

Tahap Pengujian

1. Ujian Unit
Ujian komponen (unit) menyemak kefungsian dan mencari kecacatan pada bahagian aplikasi yang boleh diakses dan boleh diuji secara berasingan (modul program, objek, kelas, fungsi, dll.).

2. Pengujian Integrasi
Interaksi antara komponen sistem diperiksa selepas ujian komponen.

3. Pengujian Sistem
Objektif utama ujian sistem adalah untuk mengesahkan kedua-dua keperluan berfungsi dan tidak berfungsi dalam sistem secara keseluruhan. Ini mengenal pasti kecacatan seperti penggunaan sumber sistem yang salah, gabungan data peringkat pengguna yang tidak disengajakan, ketidakserasian dengan persekitaran, kes penggunaan yang tidak diingini, kefungsian yang hilang atau tidak betul, ketidakselesaan penggunaan, dsb.

4. Ujian operasi (Pengujian Pelepasan).
Walaupun sistem memenuhi semua keperluan, adalah penting untuk memastikan bahawa ia memenuhi keperluan pengguna dan memenuhi peranannya dalam persekitaran operasinya seperti yang ditakrifkan dalam model perniagaan sistem. Perlu diambil kira bahawa model perniagaan mungkin mengandungi ralat. Inilah sebabnya mengapa sangat penting untuk menjalankan ujian operasi sebagai langkah pengesahan terakhir. Selain itu, ujian dalam persekitaran operasi membolehkan kami mengenal pasti masalah tidak berfungsi, seperti: konflik dengan sistem lain yang berkaitan dengan kawasan perniagaan atau dalam perisian dan persekitaran elektronik; prestasi sistem yang tidak mencukupi dalam persekitaran operasi, dsb. Jelas sekali, mencari perkara sedemikian pada peringkat pelaksanaan adalah masalah kritikal dan mahal. Itulah sebabnya sangat penting untuk menjalankan bukan sahaja pengesahan, tetapi juga pengesahan, dari peringkat awal pembangunan perisian.

5. Ujian Penerimaan
Proses ujian rasmi yang mengesahkan bahawa sistem memenuhi keperluan dan dijalankan untuk:
menentukan sama ada sistem memenuhi kriteria penerimaan;
membuat keputusan oleh pelanggan atau orang lain yang diberi kuasa sama ada permohonan itu diterima atau tidak.

Jenis/jenis ujian

Jenis ujian yang berfungsi
Ujian fungsional
Ujian Keselamatan dan Kawalan Akses
Ujian Kebolehoperasian

Jenis ujian tidak berfungsi
Semua jenis ujian prestasi:
o ujian beban (Ujian Prestasi dan Beban)
o Ujian Tekanan
o Ujian Kestabilan / Kebolehpercayaan
o Pengujian Isipadu
Ujian pemasangan
Ujian Kebolehgunaan
Failover dan Ujian Pemulihan
Ujian Konfigurasi

Jenis Ujian Berkaitan Perubahan
Ujian Asap
Ujian Regresi
Menguji semula
Ujian Pengesahan Bina
Ujian Kewarasan

Ujian fungsional mempertimbangkan tingkah laku yang telah ditetapkan dan berdasarkan analisis spesifikasi kefungsian komponen atau sistem secara keseluruhan.

Ujian keselamatan ialah strategi ujian yang digunakan untuk menyemak keselamatan sistem, serta menganalisis risiko yang berkaitan dengan menyediakan pendekatan holistik untuk melindungi aplikasi, serangan oleh penggodam, virus, akses tanpa kebenaran kepada data sulit.

Ujian Kesalingoperasian ialah ujian berfungsi yang menguji keupayaan aplikasi untuk berinteraksi dengan satu atau lebih komponen atau sistem dan termasuk ujian keserasian dan ujian integrasi

Ujian beban- ini ialah ujian automatik yang mensimulasikan kerja sebilangan pengguna perniagaan tertentu pada beberapa sumber biasa (yang dikongsi oleh mereka).

Ujian Tekanan membolehkan anda menyemak sejauh mana kecekapan aplikasi dan sistem secara keseluruhan berada di bawah tekanan dan juga menilai keupayaan sistem untuk menjana semula, i.e. untuk kembali normal selepas pemberhentian tekanan. Tekanan dalam konteks ini boleh menjadi peningkatan dalam keamatan operasi kepada nilai yang sangat tinggi atau perubahan kecemasan dalam konfigurasi pelayan. Juga, salah satu tugas ujian tekanan mungkin untuk menilai kemerosotan prestasi, jadi matlamat ujian tekanan mungkin bertindih dengan matlamat ujian prestasi.

Pengujian Volume. Tujuan pengujian volum adalah untuk mendapatkan penilaian prestasi apabila volum data dalam pangkalan data aplikasi meningkat

Ujian Kestabilan / Kebolehpercayaan. Tugas ujian kestabilan (kebolehpercayaan) adalah untuk menyemak kefungsian aplikasi semasa ujian jangka panjang (berjam-jam) dengan tahap beban purata.

Menguji pemasangan bertujuan untuk mengesahkan pemasangan dan konfigurasi yang berjaya, serta mengemas kini atau menyahpasang perisian.

Ujian kebolehgunaan ialah kaedah ujian yang bertujuan untuk mewujudkan tahap kebolehgunaan, kebolehpelajaran, kebolehfahaman dan daya tarikan untuk pengguna produk yang dibangunkan dalam konteks keadaan tertentu. Ini juga termasuk:
Pengujian UI ialah sejenis ujian penyelidikan yang dilakukan untuk menentukan sama ada beberapa objek buatan (seperti halaman web, antara muka pengguna atau peranti) sesuai untuk kegunaan yang dimaksudkan.
Pengalaman Pengguna (UX) ialah perasaan yang dialami oleh pengguna semasa menggunakan produk digital, manakala antara muka pengguna ialah alat yang membolehkan interaksi sumber web pengguna.

Failover dan Ujian Pemulihan menguji produk yang sedang diuji untuk keupayaannya untuk bertahan dan berjaya pulih daripada kemungkinan kegagalan disebabkan oleh ralat perisian, kegagalan perkakasan atau masalah komunikasi (contohnya, kegagalan rangkaian). Tujuan jenis ujian ini adalah untuk menguji sistem pemulihan (atau sistem yang menduplikasi fungsi utama), yang, sekiranya berlaku kegagalan, akan memastikan keselamatan dan integriti data produk yang diuji.

Ujian Konfigurasi- sejenis ujian khas yang bertujuan untuk menyemak operasi perisian di bawah konfigurasi sistem yang berbeza (platform yang diisytiharkan, pemacu yang disokong, konfigurasi komputer yang berbeza, dsb.)

asap ujian dianggap sebagai kitaran pendek ujian yang dilakukan untuk mengesahkan bahawa selepas membina kod (baru atau tetap), aplikasi yang dipasang bermula dan melaksanakan fungsi asas.

Ujian regresi ialah sejenis ujian yang bertujuan untuk mengesahkan perubahan yang dibuat pada aplikasi atau persekitaran (memperbaiki kecacatan, menggabungkan kod, berhijrah ke sistem pengendalian lain, pangkalan data, pelayan web atau pelayan aplikasi), untuk mengesahkan fakta bahawa fungsi sedia ada berfungsi seperti yang dimaksudkan sebelum ini. Ujian regresi boleh menjadi ujian berfungsi dan tidak berfungsi.

Menguji semula- ujian, semasa skrip ujian yang mengenal pasti ralat semasa larian terakhir dilaksanakan untuk mengesahkan kejayaan membetulkan ralat ini.
Apakah perbezaan antara ujian regresi dan ujian semula?
Ujian semula - pembetulan pepijat disemak
Ujian regresi - menyemak bahawa pembetulan pepijat tidak menjejaskan modul perisian lain dan tidak menyebabkan pepijat baharu.

Ujian pemasangan atau Ujian Pengesahan Binaan- ujian bertujuan untuk menentukan pematuhan versi yang dikeluarkan dengan kriteria kualiti untuk memulakan ujian. Dari segi matlamatnya, ia serupa dengan Ujian Asap, bertujuan untuk menerima versi baharu untuk ujian atau operasi selanjutnya. Ia boleh menembusi lebih dalam, bergantung pada keperluan kualiti versi yang dikeluarkan.

Ujian kebersihan- ini adalah ujian tertumpu sempit yang mencukupi untuk membuktikan bahawa fungsi tertentu berfungsi mengikut keperluan yang dinyatakan dalam spesifikasi. Ia adalah subset ujian regresi. Digunakan untuk menentukan prestasi bahagian tertentu aplikasi selepas perubahan dibuat padanya atau persekitaran. Biasanya dilakukan secara manual.

Ralat Meneka - Cth. Ini adalah apabila penganalisis ujian menggunakan pengetahuannya tentang sistem dan keupayaan untuk mentafsir spesifikasi untuk "meramalkan" di bawah keadaan input yang mungkin gagal sistem. Sebagai contoh, spesifikasi mengatakan "pengguna mesti memasukkan kod." Penganalisis ujian akan berfikir: "Bagaimana jika saya tidak memasukkan kod?", "Bagaimana jika saya memasukkan kod yang salah? ", dan seterusnya. Ini adalah ramalan kesilapan.

Pendekatan ujian integrasi:

Integrasi Bawah Atas
Semua modul, prosedur atau fungsi peringkat rendah dikumpulkan bersama dan kemudian diuji. Selepas itu tahap modul seterusnya dipasang untuk ujian integrasi. Pendekatan ini dianggap berguna jika semua atau hampir semua modul tahap yang dibangunkan telah sedia. Pendekatan ini juga membantu menentukan tahap kesediaan aplikasi berdasarkan keputusan ujian.

Integrasi Atas Bawah
Pertama, semua modul peringkat tinggi diuji, dan secara beransur-ansur modul peringkat rendah ditambah satu demi satu. Semua modul peringkat rendah disimulasikan sebagai stub dengan fungsi yang sama, kemudian apabila siap, ia digantikan dengan komponen aktif sebenar. Dengan cara ini kami menguji dari atas ke bawah.

Big Bang (“Penggabungan Big Bang”)
Semua atau hampir semua modul yang dibangunkan dipasang bersama sebagai sistem lengkap atau bahagian utamanya, dan kemudian ujian integrasi dijalankan. Pendekatan ini sangat baik untuk menjimatkan masa. Walau bagaimanapun, jika kes ujian dan keputusannya tidak direkodkan dengan betul, maka proses integrasi itu sendiri akan menjadi sangat rumit, yang akan menjadi penghalang kepada pasukan ujian dalam mencapai matlamat utama ujian integrasi.

Prinsip ujian

Prinsip 1- Ujian menunjukkan kehadiran kecacatan
Ujian boleh menunjukkan bahawa kecacatan ada, tetapi tidak dapat membuktikan bahawa ia tidak hadir. Pengujian mengurangkan kemungkinan kecacatan yang terdapat dalam perisian, tetapi walaupun tiada kecacatan ditemui, ini tidak membuktikan ketepatannya.

Prinsip 2- Ujian menyeluruh adalah mustahil
Ujian lengkap menggunakan semua kombinasi input dan prasyarat secara fizikal tidak boleh dilaksanakan kecuali dalam kes remeh. Daripada ujian menyeluruh, analisis risiko dan keutamaan harus digunakan untuk memfokuskan usaha ujian dengan lebih baik.

Prinsip 3- Ujian awal
Untuk mencari kecacatan seawal mungkin, aktiviti pengujian harus dimulakan seawal mungkin dalam kitaran hayat pembangunan perisian atau sistem, dan harus ditumpukan pada matlamat tertentu.

Prinsip 4- Kecacatan berkelompok
Usaha ujian harus ditumpukan mengikut kadar yang dijangkakan, dan kemudiannya kepadatan kecacatan modul sebenar. Sebagai peraturan, kebanyakan kecacatan yang ditemui semasa ujian atau yang menyebabkan sebahagian besar kegagalan sistem terkandung dalam sebilangan kecil modul.

Prinsip 5- Paradoks racun perosak
Jika ujian yang sama dijalankan berulang kali, akhirnya set kes ujian ini tidak lagi menemui kecacatan baharu. Untuk mengatasi "paradoks racun perosak" ini, kes ujian mesti kerap disemak dan disemak, dan ujian baharu mesti komprehensif untuk merangkumi semua komponen perisian atau sistem dan mencari sebanyak mungkin kecacatan.

Prinsip 6- Pengujian bergantung kepada konsep
Pengujian dilakukan secara berbeza bergantung pada konteks. Sebagai contoh, perisian kritikal keselamatan diuji secara berbeza daripada tapak e-dagang.

Prinsip 7- Kesalahan ketiadaan kesilapan
Mencari dan membetulkan kecacatan tidak akan membantu jika sistem yang dibuat tidak sesuai dengan pengguna dan tidak memenuhi jangkaan dan keperluannya.

Ujian statik dan dinamik
Ujian statik berbeza daripada ujian dinamik kerana ia dilakukan tanpa menjalankan kod produk. Pengujian dijalankan dengan menganalisis kod program (code review) atau kod yang disusun. Analisis boleh dilakukan sama ada secara manual atau menggunakan alat khas. Tujuan analisis adalah untuk mengenal pasti awal kesilapan dan masalah yang berpotensi dalam produk. Ujian statik juga termasuk spesifikasi ujian dan dokumentasi lain.

Ujian penerokaan/ad-hoc
Takrifan paling mudah bagi ujian penerokaan ialah mereka bentuk dan menjalankan ujian pada masa yang sama. Ia adalah bertentangan dengan pendekatan senario (dengan prosedur ujian yang telah ditetapkan, sama ada manual atau automatik). Ujian penerokaan, tidak seperti ujian senario, tidak ditetapkan dan tidak dilaksanakan tepat seperti yang dirancang.

Perbezaan antara ujian ad hoc dan penerokaan ialah secara teorinya, ujian ad hoc boleh dijalankan oleh sesiapa sahaja, manakala ujian penerokaan memerlukan kemahiran dan penguasaan teknik tertentu. Sila ambil perhatian bahawa teknik tertentu bukan sekadar teknik ujian.

Keperluan ialah spesifikasi (huraian) tentang apa yang patut dilaksanakan.
Keperluan menerangkan perkara yang perlu dilaksanakan, tanpa memperincikan bahagian teknikal penyelesaian. Apa, bukan bagaimana.

Keperluan Keperluan:
Ketepatan
Ketidaksamaan
Kelengkapan set keperluan
Ketekalan satu set keperluan
Kebolehpercayaan (kebolehujian)
Kebolehkesanan
Kefahaman

Kitaran hidup pepijat

Peringkat pembangunan perisian- ini adalah peringkat yang dilalui oleh pasukan pembangunan perisian sebelum program tersedia kepada pelbagai pengguna. Pembangunan perisian bermula dengan peringkat pembangunan awal (peringkat pra-alfa) dan diteruskan dengan peringkat di mana produk itu diperhalusi dan dinaik taraf. Peringkat akhir proses ini ialah pelepasan versi terakhir perisian ke pasaran ("keluaran tersedia secara umum").

Produk perisian melalui peringkat berikut:
analisis keperluan projek;
reka bentuk;
pelaksanaan;
ujian produk;
pelaksanaan dan sokongan.

Setiap peringkat pembangunan perisian diberikan nombor siri tertentu. Juga, setiap peringkat mempunyai nama sendiri, yang mencirikan kesediaan produk pada peringkat ini.

Kitaran hayat pembangunan perisian:
Pra-alfa
Alfa
Beta
Lepaskan calon
Lepaskan
Selepas keluaran

Jadual keputusan- alat yang sangat baik untuk mengatur keperluan perniagaan yang kompleks yang mesti dilaksanakan dalam produk. Jadual keputusan membentangkan satu set syarat, pemenuhan serentak yang harus membawa kepada tindakan tertentu.

Jurutera QA/QC/Ujian


Oleh itu, kita boleh membina model hierarki proses jaminan kualiti: Pengujian adalah sebahagian daripada QC. QC adalah sebahagian daripada QA.

Gambar rajah sambungan ialah alat pengurusan kualiti berdasarkan mengenal pasti hubungan logik antara pelbagai data. Alat ini digunakan untuk membandingkan punca dan kesan terhadap masalah yang dikaji.

Anotasi: Konsep ujian asas. Fasa dan peringkat ujian. Jenis-jenis ujian. Pembangunan Dipacu Ujian

pengenalan

Ujian adalah salah satu kaedah yang paling mantap jaminan kualiti pembangunan perisian.

Dari sudut teknikal Dari segi ujian, ujian terdiri daripada melaksanakan aplikasi pada set data sumber tertentu dan membandingkan hasil yang diperoleh dengan yang diketahui (rujukan) sebelum ini untuk mewujudkan pematuhan pelbagai sifat dan ciri aplikasi dengan sifat yang dipesan. Sebagai salah satu fasa utama proses pembangunan produk perisian (Reka Bentuk Aplikasi - Pembangunan Kod - Pengujian), ujian dicirikan oleh sumbangan yang agak besar kepada jumlah intensiti buruh pembangunan produk. Anggaran yang diketahui secara meluas mengenai pengagihan intensiti buruh antara fasa mencipta produk perisian ialah: 40% -20% -40%.

Dari sudut matematik pengujian boleh dianggap sebagai tafsiran formula tertentu dan menguji kebenarannya pada set tertentu. Sesungguhnya, atur cara boleh diwakili sebagai formula f = f1* f2* f3*... * fn, dengan f1, f 2, ... fn ialah pengendali bahasa pengaturcaraan, dan superposisinya ialah atur cara.

Kebenaran formula sedemikian boleh dibuktikan dengan menggunakan pendekatan formal - iaitu, formula dan pernyataan yang diperlukan (teorem) diperoleh daripada formula aksiom asal menggunakan prosedur formal (peraturan inferens). Kelebihan pendekatan formal ialah ia mengelak daripada mengakses julat nilai yang tidak terhingga dan beroperasi hanya dengan set simbol terhingga pada setiap langkah pembuktian. Walau bagaimanapun, selalunya pembinaan sistem formal dan pemformalkan program itu sendiri adalah proses yang sangat kompleks. Pendekatan alternatif untuk membenarkan kebenaran ialah tafsiran.

Pendekatan tafsiran digunakan apabila menggantikan pemalar ke dalam formula dan kemudian mentafsirkan formula sebagai pernyataan bermakna dalam elemen set nilai konkrit. Kebenaran formula yang ditafsirkan disemak pada set terhingga nilai yang mungkin. Kerumitan pendekatan adalah selalunya bilangan gabungan nilai sangat besar dan gabungan itu sendiri terdiri daripada sejumlah besar nilai - yang bermaksud pemprosesan semua kombinasi memerlukan sumber yang ketara. Terdapat pelbagai kaedah untuk mengurangkan bilangan kombinasi yang perlu dipertimbangkan. Utama masalah ujian- menentukan kecukupan satu set ujian untuk kebenaran kesimpulan tentang ketepatan pelaksanaan program, serta mencari satu set ujian yang mempunyai sifat ini.

Ujian statik Menggunakan kaedah analisis formal, tanpa melaksanakan program di bawah ujian, mengenal pasti pembinaan yang salah atau hubungan yang salah antara objek program (ralat tugas formal) menggunakan alat pemantauan kod khas - CodeChecker.

Ujian dinamik(menguji sendiri) mengenal pasti ralat hanya dalam program yang sedang berjalan menggunakan alat khas ujian automasi- Testbed atau Testbench.

Asas Pengujian

Kelas Kriteria Ujian

Kriteria struktur gunakan maklumat tentang struktur program (kriteria yang dipanggil "kotak putih"), yang mengandaikan pengetahuan tentang teks sumber program atau spesifikasi program dalam bentuk graf kawalan aliran. Kriteria struktur adalah berdasarkan elemen utama graf kawalan - operator, cawangan dan laluan.

  • Keadaan kriteria ujian arahan (kriteria C0) - set ujian secara keseluruhan mesti memastikan setiap arahan diluluskan sekurang-kurangnya sekali.
  • Syarat kriteria ujian cawangan (Kriteria C1) ialah set ujian bersama-sama mesti memastikan setiap cawangan lulus sekurang-kurangnya sekali.
  • Keadaan kriteria untuk laluan ujian (kriteria C2) - satu set ujian secara keseluruhan mesti memastikan setiap laluan lulus sekurang-kurangnya 1 kali.

Kriteria berfungsi dirumuskan dalam perihalan keperluan untuk produk perisian (kriteria yang dipanggil "kotak hitam" Mereka menyediakan, pertama sekali, kawalan ke atas tahap pemenuhan keperluan pelanggan dalam produk perisian. Memandangkan keperluan dirumus untuk produk secara keseluruhan, ia mencerminkan interaksi aplikasi yang sedang diuji dengan alam sekitar. Masalah dengan ujian berfungsi adalah, pertama sekali, intensiti buruh; Hakikatnya ialah dokumen yang merekodkan keperluan untuk produk perisian, sebagai peraturan, agak besar, bagaimanapun, pengesahan yang sepadan mestilah menyeluruh.

Jenis khas berikut dibezakan: kriteria berfungsi:

  • item spesifikasi ujian;
  • menguji kelas data input;
  • ujian peraturan - satu set ujian bersama-sama harus memastikan pengesahan setiap peraturan jika nilai input dan output diterangkan oleh satu set peraturan beberapa tatabahasa;
  • menguji kelas output;
  • Ujian fungsi;
  • kriteria gabungan untuk program dan spesifikasi. Kriteria ujian stokastik dirumus dalam istilah

menyemak kehadiran sifat tertentu dalam aplikasi yang sedang diuji, dengan cara menguji hipotesis statistik tertentu. Ia digunakan apabila menguji sistem perisian yang kompleks - apabila satu set ujian deterministik (X, Y) mempunyai kuasa yang sangat besar.

Kriteria mutasi tertumpu pada menyemak sifat produk perisian berdasarkan pendekatan Monte Carlo.

Kaedah ujian mutasi terdiri daripada memperkenalkan mutasi (ralat kecil) ke dalam program P yang dibangunkan, i.e. buat program mutan P1, P2 secara buatan... . Kemudian program P dan mutannya diuji pada set ujian yang sama (X, Y).

Jika ketepatan program P disahkan pada set (X, Y) dan, sebagai tambahan, semua ralat yang diperkenalkan ke dalam atur cara mutan dikenal pasti, maka set ujian (X, Y) sepadan dengan kriteria mutasi, dan atur cara di bawah ujian diisytiharkan betul. Jika sesetengah mutan tidak mendedahkan semua mutasi, maka set ujian (X, Y) mesti dikembangkan dan ujian diteruskan.

Fasa ujian

Semasa ujian, biasanya terdapat tiga fasa: unit, penyepaduan dan ujian sistem.

Ujian unit- ini menguji atur cara pada tahap modul, fungsi atau kelas individu. Tujuan ujian unit adalah untuk mengenal pasti ralat yang disetempatkan dalam modul dalam pelaksanaan algoritma, serta untuk menentukan tahap kesediaan sistem untuk bergerak ke peringkat pembangunan dan ujian seterusnya. Ujian unit dijalankan mengikut prinsip "kotak putih", iaitu, ia berdasarkan pengetahuan tentang struktur dalaman program, dan selalunya termasuk kaedah analisis liputan kod tertentu.

Ujian integrasi sedang menguji sebahagian daripada sistem yang terdiri daripada dua atau lebih modul. Tugas utama ujian integrasi adalah untuk mencari kecacatan yang berkaitan dengan ralat dalam pelaksanaan dan tafsiran interaksi antara muka antara modul. Perbezaan utama antara ujian unit dan integrasi ialah objektif, iaitu, jenis kecacatan yang dikesan, yang seterusnya, menentukan strategi untuk memilih data input dan kaedah analisis.

Ujian sistem adalah berbeza secara kualitatif daripada tahap integrasi dan modular. Ia menganggap sistem yang sedang diuji secara keseluruhan dan beroperasi pada tahap antara muka pengguna. Utama tugas ujian sistem terdiri daripada mengenal pasti kecacatan yang berkaitan dengan pengendalian sistem secara keseluruhan, seperti penggunaan sumber sistem yang salah, gabungan data peringkat pengguna yang tidak disengajakan, ketidakserasian dengan persekitaran, senario penggunaan yang tidak diingini, kefungsian yang hilang atau tidak betul, ketidakselesaan dalam penggunaan, dan seumpamanya.

Ujian sistem dijalankan ke atas projek secara keseluruhan menggunakan kaedah "kotak hitam". Struktur program tidak penting; hanya input dan output yang kelihatan kepada pengguna tersedia untuk ujian. Kod dan dokumentasi pengguna tertakluk kepada ujian.

Di samping itu, mereka menyerlahkan ujian regresi- kitaran ujian yang dijalankan apabila perubahan dibuat semasa ujian sistem atau fasa penyelenggaraan produk. Masalah utama ujian regresi ialah pilihan antara penuh dan separa ujian semula dan pengisian semula kit ujian. Dengan separa ujian semula Hanya bahagian projek yang dikaitkan dengan komponen yang diubah dipantau.

Peringkat ujian

setiap satu fasa ujian merangkumi langkah-langkah berikut:

  1. Menetapkan matlamat(keperluan ujian), termasuk spesifikasi berikut: apakah bahagian sistem yang akan diuji, apakah aspek operasinya yang akan dipilih untuk pengesahan, apakah kualiti yang dikehendaki, dsb.
  2. Perancangan: mencipta jadual (jadual) untuk membangunkan ujian bagi setiap subsistem yang diuji; penilaian sumber manusia, perisian dan perkakasan yang diperlukan; pembangunan jadual kitaran ujian. Adalah penting untuk ambil perhatian bahawa jadual ujian mesti konsisten dengan jadual pembangunan sistem yang sedang dibuat.
  3. Pembangunan ujian(kod ujian untuk sistem yang sedang diuji).
  4. Menjalankan ujian: pelaksanaan kitaran ujian.
  5. Analisis keputusan.

Kitaran ujian ialah kitaran pelaksanaan ujian yang merangkumi fasa 4 dan 5 proses ujian. Kitaran ujian terdiri daripada menjalankan ujian yang dibangunkan pada beberapa bahagian sistem yang ditakrifkan secara unik (keadaan kod sistem yang sedang dibangunkan). Biasanya, sekeping sistem sedemikian dipanggil membina.

Pelan ujian- ini ialah dokumen, atau satu set dokumen, yang mengandungi sumber ujian, senarai fungsi dan subsistem yang akan diuji, strategi ujian, menjadualkan kitaran ujian, menetapkan konfigurasi ujian (komposisi dan parameter khusus persekitaran perkakasan dan perisian), mentakrifkan senarai metrik ujian yang perlu dikumpul dan dianalisis semasa kitaran ujian (contohnya, metrik menilai tahap liputan satu set keperluan melalui ujian).

Ujian dibangunkan berdasarkan spesifikasi, secara manual dan menggunakan alat automatik. Sebagai tambahan kepada kod itu sendiri, konsep "ujian" termasuk penerangan umum dan penerangan terperinci tentang langkah-langkah yang dilakukan dalam ujian ini.

Untuk menilai kualiti ujian, pelbagai metrik digunakan berkaitan dengan bilangan kecacatan yang ditemui, liputan kod, keperluan fungsian dan pelbagai senario.

Semua maklumat tentang kecacatan yang ditemui semasa ujian (jenis, keadaan pengesanan, sebab, syarat untuk pembetulan, masa yang digunakan untuk pembetulan) dimasukkan ke dalam pangkalan data kecacatan.

Maklumat tentang pelan ujian, ujian dan kecacatan digunakan pada akhir setiap kitaran ujian untuk dijana laporan ujian dan melaraskan sistem ujian untuk lelaran seterusnya.

Jenis-jenis ujian

Pelan ujian mengenal pasti dan mendokumenkan pelbagai jenis ujian.

Jenis ujian mengikut jenis subsistem atau produk adalah seperti berikut:

  1. Pengujian kefungsian utama, apabila sistem itu sendiri, yang merupakan produk perkilangan utama, diuji.
  2. Ujian pemasangan termasuk ujian skrip pemasangan sistem awal, skrip pemasangan semula (di atas salinan sedia ada), ujian nyahpasang, ujian pemasangan jika terdapat ralat dalam pakej yang dipasang, dalam persekitaran atau dalam skrip, dsb.
  3. Pengujian dokumentasi pengguna termasuk menyemak kesempurnaan dan kejelasan perihalan peraturan dan ciri penggunaan produk, kehadiran penerangan semua senario dan kefungsian, sintaks dan tatabahasa bahasa, kefungsian contoh, dsb.

Jenis ujian berdasarkan kaedah memilih nilai input:

  1. Ujian fungsional, yang memeriksa:
    • meliputi keperluan fungsian;
    • Liputan kes penggunaan.
  2. Ujian tekanan, yang menguji keadaan penggunaan produk yang melampau.
  3. Ujian sempadan.
  4. Ujian prestasi.
  5. Ujian untuk pematuhan piawaian.
  6. Menguji keserasian dengan sistem perisian dan perkakasan lain.
  7. Menguji kerja dengan persekitaran.
  8. Menguji kerja pada platform tertentu.

Pembangunan Didorong Ujian

Mari kita pertimbangkan pendekatan ujian berbeza sedikit daripada yang di atas. Test Driven Development (TDD) ialah proses pembangunan perisian yang melibatkan penulisan dan mengautomasikan ujian unit sebelum kelas atau modul yang sepadan ditulis. Ini memastikan bahawa semua tanggungjawab mana-mana perisian ditakrifkan sebelum ia dikodkan.

TDD menentukan urutan langkah pengaturcaraan berikut:

  • Merah - tulis ujian kecil yang tidak berfungsi dan mungkin tidak disusun.
  • Hijau - buat ujian dijalankan secepat mungkin, tanpa perlu risau tentang ketepatan reka bentuk dan kebersihan kod. Tulis kod yang cukup untuk membuat ujian berfungsi.
  • Pemfaktoran semula - Alih keluar sebarang pendua daripada kod yang anda tulis.
  • Setelah pembangun menguasai TDD, mereka mendapati bahawa mereka menulis lebih banyak ujian daripada sebelumnya dan bergerak ke hadapan dalam langkah-langkah kecil yang sebelum ini mungkin kelihatan tidak berguna.

Sebaik sahaja pengaturcara telah membuat ujian berfungsi dan boleh memastikan bahawa bahagian fungsi ini dilindungi, dia membuat ujian kedua berfungsi, kemudian yang ketiga, keempat, dsb. Semakin kompleks masalah yang dihadapi pengaturcara, semakin kecil kawasan kefungsian setiap ujian mesti meliputi . Hasilnya ialah liputan kod 100% dengan ujian unit, yang, sebagai peraturan, tidak boleh dicapai dengan pendekatan klasik untuk ujian.

Pasti ada masalah yang tidak dapat (sekurang-kurangnya pada masa ini) diselesaikan dengan ujian sahaja. Khususnya, TDD tidak membenarkan demonstrasi mekanikal tentang kecukupan kod yang dibangunkan dalam bidang keselamatan data dan interaksi antara proses. Sudah tentu, keselamatan adalah berdasarkan kod yang mesti bebas daripada kecacatan, tetapi ia juga berdasarkan penyertaan manusia dalam prosedur perlindungan data. Masalah halus yang timbul dalam bidang komunikasi antara proses tidak dapat dihasilkan semula dengan pasti hanya dengan menjalankan beberapa kod.

Keputusan

Yang lebih aktif yang baru dibangunkan sistem maklumat Apabila seni bina menjadi lebih kompleks dan teknologi baharu berkembang, proses ujian menjadi lebih penting. Semakin banyak aplikasi berasaskan web dan mudah alih muncul. Menguji sistem sedemikian jauh lebih sukar daripada program pengguna tunggal untuk PC rumah. Jenis sistem ini memerlukan algoritma automasi ujian yang cekap. Di samping itu, tugas menguji keselamatan sistem maklumat dalam semua manifestasinya adalah relevan. Industri permainan video juga memerlukan pendekatan baharu untuk ujian.

Pengujian mengiringi hampir keseluruhan proses pembangunan, termasuk peringkat terawal. Penambahbaikan dalam teknologi untuk spesifikasi dan keperluan ujian masih diperlukan. Tugas semasa adalah untuk membangunkan ujian yang menguji proses pembangunan, keperluan perniagaan dan matlamat keseluruhan organisasi. Kami bercakap tentang membangunkan ujian yang lebih berkesan yang merangkumi pelbagai jenis ciri sistem maklumat.

Di samping itu, penyelidikan diteruskan dalam bidang ujian tertumpu pada model pembangunan tertentu (air terjun, lingkaran) atau paradigma pengaturcaraan tertentu. Sebagai contoh, ujian berasaskan ejen dicadangkan untuk menguji sistem berorientasikan komponen. Untuk menguji applet Java aktif, dicadangkan untuk menggunakan rangkaian saraf. Untuk menguji ejen yang wujud di web (robot, labah-labah), adalah dicadangkan untuk menggunakan sistem berasaskan pengetahuan.

Oleh itu, walaupun terdapat kepastian yang ketara dalam proses ujian dan automasi lengkap banyak peringkatnya, masih terdapat banyak bidang untuk penyelidikan dan kerja amali.

Model ujian ialah struktur logik yang menerangkan kefungsian sistem dan/atau gelagat pengguna, mengikut kes ujian yang dijana. Pembinaan model ujian bermula dengan pembinaan struktur, dan kemudian struktur yang diluluskan diisi dengan kes ujian.

Model biasanya dibina berdasarkan keperluan dan/atau gelagat sistem yang dijangkakan. Membina dan mengurus model ujian sesuai untuk sistem besar dengan logik perniagaan yang kompleks dan sukar untuk digunakan pada projek yang berfungsi menggunakan metodologi yang fleksibel, kerana kos untuk mengekalkan pengurusan model ujian dan proses jaminan kualiti akan menjadi terlalu tinggi.

Pengurusan model ujian merujuk kepada proses yang mengawal liputan model ujian, kualiti skrip yang menerangkan model ujian dan pengemaskiniannya.

Pengurusan model ujian ialah proses berterusan sepanjang kitaran hayat produk.

Liputan model ujian

Untuk mengawal liputan semua keperluan, anda boleh menggunakan matriks surih, yang menentukan liputan keperluan mengikut kes ujian (lihat contoh).
Sebelum kes ujian diterangkan, struktur model ujian mesti diluluskan dengan pelanggan.

Kualiti skrip

Untuk menguruskan kualiti skrip, adalah perlu untuk mengawal bukan sahaja tahap perihalan kes ujian, tetapi juga kualitinya.

Sebelum mula menerangkan kes ujian, adalah perlu untuk menentukan keperluan bagi setiap tahap penerangan dan kriteria kualiti untuk menerangkan kes ujian.

Tahap huraian kes ujian yang mungkin:

Pada tahap 4, penyelarasan dengan pelanggan boleh digantikan dengan kelulusan.

Kriteria kualiti untuk huraian kes ujian boleh seperti berikut:

  • Kes ujian mesti ditulis mengikut keperluan

Pengujian ialah proses mengesahkan bahawa produk memenuhi keperluannya. Oleh itu, dalam sebahagian daripada penerangan umum kes ujian (dalam sistem penjejakan ujian, istilah "Ringkasan" biasanya digunakan), adalah perlu untuk merujuk kepada keperluan khusus bersama-sama dengan serpihan teks keperluan. Oleh itu, ia akan menjadi jelas kepada semua peserta projek berdasarkan kes ujian ini ditulis.

  • Gunakan prasyarat terperinci

Bagaimana untuk menjimatkan masa pada kes ujian?

Tetapkan peraturan pemformatan untuk semua kes ujian. Dengan cara ini kes ujian akan mudah difahami dan dibaca untuk mana-mana peserta projek. Sebagai contoh, pada projek anda boleh memasukkan peraturan berikut:

  • Semua parameter input mesti ditandakan dengan warna merah.
  • Semua skrip mesti diserlahkan dengan warna biru,
  • Semua nama butang, medan, blok diserlahkan dalam huruf condong dan tebal.
  • Tempat penting diserlahkan dengan garis bawah.
  • Setiap langkah yang dilakukan mestilah mempunyai hasil yang diharapkan.
  • Setiap langkah dalam kes ujian hendaklah menerangkan hanya satu tindakan dan hasil yang dijangkakan untuknya. Itu. Apabila menerima kes ujian yang gagal dalam langkah tertentu, ia harus jelas dengan jelas di mana tindakan ralat berlaku.
  • Hasil yang dijangkakan seharusnya tidak jelas.

Kes ujian mestilah tidak jelas, i.e. mesti digubal dan dirumuskan dengan cara yang tidak membenarkan kekaburan, tetapi difahami dengan jelas oleh semua peserta.

Jika menulis kes ujian mengambil masa yang lama, situasi mungkin timbul apabila pakar berhenti melihat kesilapannya. Ini memerlukan perspektif luar - di sini ia akan membantu menjalankan tinjauan silang. Peringkat ini disyorkan untuk dijalankan dalam kes di mana pembangunan model ujian dilanjutkan dan mengambil masa yang lama. Sebagai contoh, apabila pembangunan senario ujian mengambil masa lebih daripada 1 bulan.

Proses kawalan kualiti skrip boleh dijalankan menggunakan Kawalan Model Ujian– templat yang disediakan khas.

Kemas kini model ujian

Adalah perlu untuk sentiasa mengemas kini model ujian dan kes ujian itu sendiri untuk pematuhan dengan keperluan, serta menyemak keutamaan kes ujian.

Untuk mengemas kini anda boleh mengekalkan "Matriks Keperluan"(Matriks Kebolehkesanan Keperluan): selepas setiap perubahan dalam keperluan khusus, semua kes ujian yang dikaitkan dengan keperluan ini dipilih daripada sistem penjejakan ujian dan dikemas kini.

Kawalan model ujian:

  • TestRail
  • TestLink
  • Jira+Zephyr
  • Pengurus Ujian Microsoft (MTM)
  • Excel