Beda Antara Unit, Integrasi jeung Tés Fungsional

Perbandingan Detil Unit, Integrasi sareng Uji Fungsional:

Pikeun aplikasi parangkat lunak naon waé, duanana tés Unit, ogé tés Integrasi, penting pisan sabab masing-masing ngagunakeun a prosés unik pikeun nguji aplikasi software.

Tapi salah sahiji atawa malah duanana teu bisa ngaganti nguji Fungsional dina titik mana wae.

Ujian Unit Vs Tés Integrasi Vs Tés Fungsional

Ujian Unit hartina nguji modul individu tina hiji aplikasi dina isolasi (tanpa interaksi jeung dependensi) pikeun mastikeun yén kode éta ngalakukeun hal-hal anu leres.

Uji integrasi hartosna mariksa naha modul anu béda tiasa dianggo saé nalika digabungkeun janten grup.

Tes fungsional hartosna nguji sapotong fungsionalitas dina sistem (tiasa berinteraksi sareng dependensi) pikeun mastikeun yén kodeu ngalakukeun hal anu leres.

Tes fungsional aya hubunganana sareng tes integrasi, tapi aranjeunna nunjukkeun kana tés anu pariksa fungsionalitas sakabéh aplikasi kalawan sakabeh kode ngajalankeun babarengan, ampir test integrasi super.

Us testing mertimbangkeun mariksa komponén tunggal sistem sedengkeun nguji fungsionalitas mertimbangkeun mariksa gawé hiji aplikasi ngalawan nu dimaksudkeun. fungsionalitas dijelaskeun dina spésifikasi sarat sistem. Di sisi anu sanés, uji integrasi nganggap mariksamodul terpadu dina sistem.

Sareng, anu paling penting, pikeun ngaoptimalkeun return on investment (ROI), basis kode anjeun kedah gaduh saloba-lobana tés unit, pangsaeutikna tés integrasi sareng pangsaeutikna tés fungsional.

Ieu digambarkeun pangalusna dina piramida tés ieu:

Tes unit leuwih gampang ditulis jeung leuwih gancang dieksekusi. Waktos sareng usaha pikeun ngalaksanakeun sareng ngajaga tés ningkat tina uji unit ka uji fungsional sapertos anu dipidangkeun dina piramida di luhur.

Conto:

Hayu urang ngartos tilu jinis tés ieu nganggo conto anu disederhanakeun.

Misalna . Pikeun telepon sélulér anu fungsional, bagian utama anu diperyogikeun nyaéta "batré" sareng "kartu sim".

Conto tés unit - Batré dipariksa pikeun hirupna, kapasitas sareng parameter sanésna. Kartu SIM dipariksa pikeun aktivasina.

Conto Tés Integrasi – Batré jeung kartu sim dihijikeun nyaéta dirakit pikeun ngamimitian telepon sélulér.

Fungsional Conto Uji Coba – Pungsi telepon sélulér diparios tina segi fitur sareng pamakean batre ogé fasilitas kartu sim.

Kami parantos ningali conto di istilah awam.

Ayeuna, hayu urang nyandak conto téknis tina kaca login:

Ampir unggal aplikasi wéb merlukeun pamaké/konsumén pikeun asup. Pikeun éta, unggal aplikasi kuduboga kaca "Login" nu mibanda elemen ieu:

  • Akun/Ngaran pamaké
  • Sandi
  • Tombol Asup/Asup

Pikeun Uji Unit, ieu di handap bisa jadi kasus uji:

  • Panjang widang – widang ngaran pamaké jeung kecap akses.
  • Nilai widang input kudu valid.
  • Tombol login diaktipkeun ngan sanggeus nilai valid (Format jeung lengthwise) diasupkeun dina duanana widang.

Pikeun Tés Integrasi, ieu di handap bisa jadi kasus uji:

  • Pamaké ningali pesen wilujeng sumping saatos ngasupkeun niléy-niléy anu sah sareng mencét tombol login.
  • Pamaké kedah napigasi ka halaman wilujeng sumping atanapi halaman bumi saatos éntri sah sareng ngaklik tombol Login.

Ayeuna, sanggeus uji unit jeung integrasi rengse, hayu urang nempo tambahan kasus uji nu dianggap pangujian fungsional:

  1. Paripolah anu dipiharep dipariksa, nyaéta naha pamaké bisa asup ku ngaklik tombol asup sanggeus ngasupkeun nilai ngaran pamaké sarta sandi anu valid.
  2. Naha aya pesen wilujeng sumping anu bakal muncul sanggeus login suksés?
  3. Naha aya pesen kasalahan anu kedah muncul dina login anu teu sah?
  4. Naha aya cookie situs anu disimpen pikeun kolom login?
  5. Naha pangguna anu teu aktip tiasa asup?
  6. Naha aya tautan 'hilap sandi' pikeun pangguna anu hilap kecap koncina?

Aya langkung seueur kasus sapertos kitu anu kajantenan.pikiran tester fungsional nalika ngalakukeun tés fungsional. Tapi pamekar henteu tiasa nyandak sadaya kasus nalika ngawangun kasus uji Unit sareng Integrasi.

Ku kituna, seueur skénario anu kedah diuji sanaos saatos uji unit sareng integrasi.

Ayeuna waktuna pikeun nguji Unit, Integrasi jeung Functional hiji-hiji.

Naon ari Unit Testing?

Sapertos ngaranna, tingkat ieu ngalibatkeun nguji 'Unit'.

Di dieu unit tiasa janten bagian pangleutikna tina aplikasi anu tiasa diuji, naha éta fungsi individu pangleutikna, metode, jsb. Pamekar parangkat lunak nyaéta anu nyerat kasus uji unit. Tujuanana di dieu nyaéta pikeun nyocogkeun sarat sareng paripolah anu dipiharep unit.

Di handap ieu aya sababaraha poin penting ngeunaan uji unit sareng mangpaatna:

  • Ujian unit dipigawé saméméh Tés Integrasi ku pamekar software ngagunakeun téknik nguji kotak bodas.
  • Ujian Unit henteu ngan mariksa paripolah positif nyaéta kaluaran bener bisi input valid, tapi ogé gagal anu lumangsung kalawan input teu valid.
  • Papanggihan masalah/bug dina tahap awal pohara kapaké sarta ngurangan biaya proyék sakabéh. Kusabab tés Unit dilakukeun sateuacan integrasi kode, masalah anu kapanggih dina tahap ieu tiasa direngsekeun kalayan gampang sareng dampakna ogé kirang pisan.
  • Us unit nguji potongan kode atanapi individu anu leutik.jadi masalah/kasalahan nu kapanggih dina kasus uji ieu bebas jeung teu mangaruhan kasus uji lianna.
  • Kauntungan penting séjénna nyaéta yén kasus uji unit nyederhanakeun tur ngagampangkeun nguji kode. Janten, janten langkung gampang pikeun ngabéréskeun pasualan dina tahap engké ogé sabab ngan ukur parobahan panganyarna dina kode anu kedah diuji.
  • Us unit ngahémat waktos sareng biaya, sareng tiasa dianggo deui sareng gampang dijaga.

JUnit (Java framework), PHPUnit (PHP framework), NUnit (.Net framework) jeung sajabana. ?

Uji integrasi nyaéta nguji integrasi bagian béda tina sistem babarengan. Dua bagian atawa modul sistem anu béda dihijikeun heula lajeng uji integrasi dilaksanakeun.

Tujuan uji integrasi nyaéta mariksa pungsionalitas, réliabilitas, jeung kinerja sistem lamun terpadu.

Uji integrasi dilakukeun dina modul anu diuji unit heula teras uji integrasi nangtukeun naha kombinasi modul masihan kaluaran anu dipikahoyong atanapi henteu.

Tes integrasi tiasa boh dilakukeun ku panguji mandiri atawa ku pamekar ogé.

Aya 3 tipeu béda pendekatan nguji Integrasi. Hayu urang bahas masing-masing sacara ringkes:

a) Pendekatan Integrasi Big Bang

Dina pendekatan ieu, sakabéh modul atawa unit diintegrasikeun jeung diuji sacara gembleng dina hiji waktu. Ieu biasana dilakukeun nalika sakabéh sistem geus siap pikeun nguji integrasi dina hiji titik waktu.

Punten ulah bingung pendekatan ieu nguji integrasi jeung nguji sistem, ngan integrasi modul atawa unit diuji sarta henteu. sakabeh sistem sakumaha anu dilakukeun dina nguji sistem.

Kauntungan utama pendekatan big bang nyaeta sagalana terpadu diuji dina hiji waktu.

Hiji utama kalemahan nyaéta jadi hésé pikeun ngaidentipikasi gagalna.

Conto: Dina gambar di handap, Unit 1 nepi ka Unit 6 diintegrasikeun jeung diuji maké pendekatan Big bang.

b) Pendekatan Top-Down

Integrasi unit/modul diuji ti tingkat luhur ka handap step by step.

The Unit kahiji diuji sacara individual ku cara nulis tes STUBS. Sanggeus ieu, tingkat handap diintegrasikeun hiji-hiji nepi ka tingkat panungtungan dihijikeun jeung diuji.

Pendekatan top-down mangrupakeun cara organik pisan ngaintegrasikeun sabab konsisten jeung kumaha kajadian nyata. lingkungan.

Hiji-hijina kahariwang jeung pendekatan ieu nyaeta fungsionalitas utama diuji di ahir.

c) Bawah- Up Approach

Unit/modul diuji ti tingkat handap ka luhur, step by step, nepi ka sakabeh tingkat unit/modul terpadu.sarta diuji salaku hiji unit. Program stimulator anu disebut DRIVER digunakeun dina pendekatan ieu. Leuwih gampang pikeun ngadeteksi masalah atawa kasalahan dina tingkat nu leuwih handap.

Panglemahan kakurangan tina pendekatan ieu nyaéta masalah tingkat nu leuwih luhur ngan bisa diidentifikasi dina ahir lamun sakabeh unit geus boga. geus terpadu.

Unit Testing vs Integration Testing

Geus cukup diskusi ngeunaan unit testing jeung integrasi testing, hayu urang gancang ngaliwatan béda antara dua dina tabél ieu di handap:

Ujian Unit Uji Integrasi
Nguji komponén tunggal sakabeh sistem nyaéta nguji hiji unit dina isolasi. Nguji komponén sistem gawé bareng nyaéta nguji kolaborasi sababaraha unit.
Leuwih gancang dieksekusi Bisa ngajalankeun lambat
Euweuh kagumantungan éksternal. Sakur kagumantungan éksternal dipoyok atawa distub kaluar. Mbutuhkeun interaksi jeung kagumantungan éksternal (misalna Database, hardware, jsb.)
Saderhana Komplek
Dilaksanakeun ku pamekar Dilaksanakeun ku panguji
Ieu mangrupikeun jinis tés kotak bodas Éta nyaéta tipeuji black box
Dilaksanakeun dina tahap awal tés terus bisa dilaksanakeun iraha waé Kudu dilaksanakeun sanggeus tés unit jeung saméméh tés sistem
Murahpangropéa Mahal pangropéa
Dimimitian tina spésifikasi modul Dimimitian tina spésifikasi antarmuka
Unit nguji boga wengkuan sempit sakumaha eta ngan mariksa lamun unggal sapotong leutik kode ngalakonan naon eta dimaksudkeun pikeun ngalakukeun. Mibanda wengkuan anu leuwih lega sabab nyertakeun sakabeh aplikasi
Hasil uji unit nyaéta visibilitas lengkep kode Hasil integrasi nguji nyaéta pisibilitas lengkep tina struktur integrasi
Pangungkabkeun masalah dina fungsionalitas modul individu wungkul. Teu nembongkeun kasalahan integrasi atawa masalah di sakuliah sistem. Pangungkabkeun bug anu timbul nalika modul anu béda saling berinteraksi pikeun ngabentuk sistem sakabéh

Tés Fungsional

Téknik tés kotak hideung, dimana pungsionalitas aplikasi diuji pikeun ngahasilkeun kaluaran anu dipikahoyong dina nyayogikeun input anu tangtu disebut 'Uji Fungsional'.

Dina prosés nguji parangkat lunak, kami ngalakukeun ieu ku cara nulis kasus tés nurutkeun sarat jeung skenario. Pikeun fungsionalitas naon waé, jumlah kasus tés anu ditulis tiasa béda-béda ti hiji dugi ka seueur.

Kacindekan

Katilu jinis tés ieu aya hubunganana.

Pikeun ngahontal cakupan lengkep, éta diwajibkeun gaduh tes unit pikeun jalur/garis kode, fungsional sareng tes Integrasi pikeun ngajamin yén 'unit'gawé bareng babarengan.

Mudah-mudahan tulisan ieu bakal masihan anjeun ide anu jelas ngeunaan Unit, Integrasi sareng Uji Fungsional sareng bédana, sanaos seueur deui bentuk-bentuk tés ieu!!

Disarankeun Maca

Gulir ke atas