Các loại kiểm thử phần mềm
Số trang: 5
Loại file: docx
Dung lượng: 88.12 KB
Lượt xem: 21
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Một hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phần mềm (PM), đó là kiểm thử (Software Testing). Dân làm PM chắc hẳn không ai nghi ngờ vai trò quan trọng của nó, tuy nhiên không phải ai (cả trong ngành và ngoài ngành) cũng hiểu rõ hoạt động này.
Nội dung trích xuất từ tài liệu:
Các loại kiểm thử phần mềmCácloạikiểmthửphầnmềmMộthoạtđộngmangtínhsốngcòntrongcácdựánsảnxuấthoặcgiacôngphầnmềm(PM),đólàkiểmthử(SoftwareTesting).DânlàmPMchắchẳnkhôngainghingờvaitròquantrọngcủanó,tuynhiênkhôngphảiai(cảtrongngànhvàngoàingành)cũnghiểurõhoạtđộngnày.Bảnthâncôngviệckiểmthửphầnmềm(KTPM)cũnglàmộtlĩnhvựchoạtđộngđộclậpvàkhá“hấpdẫn”.CùngvớicácdựángiacôngsảnxuấtPM,hiệncũngcókhánhiềudựánmànộidungcôngviệcchỉlàkiểmthửnhữngPMđãđượckháchhàngpháttriểnsẵn.MặcdùcôngviệcKTPMkhôngxalạsongnhữngkháiniệmvàkỹthuậtlạikhárắcrối.Bàiviếtnàysẽnhằmcungcấpmộtcáinhìntươngđốibaoquátvềlĩnhvực“tưởngcũnhưngkhôngcũ”này.KIỂMTHỬPHẦNMỀMLÀGÌ?ThựcraKTPMlàcôngviệcmàbấtcứngườinàotừngthamgiapháttriểnphầnmềm(PTPM)đềubiếtvàtừnglàm.Theonghĩathôngthườngnhất,KTPMbaogồmviệc“chạythử”PMhaymộtchứcnăngcủaPM,xemnó“chạy”đúngnhưmongmuốnhaykhông.Việckiểmthửnàycóthểthựchiệntừngchặng,saumỗichứcnănghoặcmoduleđượcpháttriển,hoặcthựchiệnsaucùng,khiPMđãđượcpháttriểnhoàntất.KTPMđứngởvịtríhếtsứcnhạycảm,nólàbướcđệmgiữagiaiđoạnxâydựngPMvàsửdụngPM,trướckhigiaosảnphẩmhoànchỉnhchokháchhàng.Bạncóthểthamkhảobài“Tổngquancácmôhìnhpháttriểnphầnmềm”trongTGVTAsốtháng8/2005(ID:A0508_106)đểbiếtvịtrícủaKTPMtrongcácmôhìnhPTPM.Hình1:4mứcđộcơbảncủakiểmthửphầnmềmCÁCMỨCĐỘCỦAKTPMThựctế,KTPMkhôngđơngiảnnhưnhiềungườithườngnghĩ,côngviệcnàycónhiềumứcđộkhácnhauvàcómốitươngquanvớicácchặngpháttriểntrongdựánPTPM.Hình1chothấy4mứcđộcơbảncủaKTPMvàhình2chothấymốitươngquanvớicácchặngPTPMtrongmôhìnhVmodel.PhầnsausẽlàmrõchitiếtvềcácmứcđộKTPM,domộtsốthuậtngữkhôngcótừtươngđươngsátnghĩatrongtiếngViệt,mặtkhácđểcácbạntiệnthamkhảosaunày,chúngtôixingiữnguyênmộtsốthuậtngữgốctiếngAnh.1.UnitTest–KiểmthửmứcđơnvịĐểcóthểhiểurõvềUnitTest,kháiniệmtrướctiêntacầnlàmrõ:thếnàolàmộtđơnvịPM(Unit)?MộtUnitlàmộtthànhphầnPMnhỏnhấtmàtacóthểkiểmthửđược.Theođịnhnghĩanày,cáchàm(Function),thủtục(Procedure),lớp(Class),hoặccácphươngthức(Method)đềucóthểđượcxemlàUnit.VìUnitđượcchọnđểkiểmthửthườngcókíchthướcnhỏvàchứcnănghoạtđộngđơngiản,chúngtakhôngkhókhăngìtrongviệctổchức,kiểmthử,ghinhậnvàphântíchkếtquảkiểmthử.Nếupháthiệnlỗi,việcxácđịnhnguyênnhânvàkhắcphụccũngtươngđốidễdàngvìchỉkhoanhvùngtrongmộtđơnthểUnitđangkiểmthử.Mộtnguyênlýđúckếttừthựctiễn:thờigiantốnchoUnitTestsẽđượcđềnbùbằngviệctiếtkiệmrấtnhiềuthờigianvàchiphíchoviệckiểmthửvàsửalỗiởcácmứckiểmthửsauđó.UnitTestthườngdolậptrìnhviênthựchiện.CôngđoạnnàycầnđượcthựchiệncàngsớmcàngtốttronggiaiđoạnviếtcodevàxuyênsuốtchukỳPTPM.Thôngthường,UnitTestđòihỏikiểmthửviêncókiếnthứcvềthiếtkếvàcodecủachươngtrình.MụcđíchcủaUnitTestlàbảođảmthôngtinđượcxửlývàxuất(khỏiUnit)làchínhxác,trongmốitươngquanvớidữliệunhậpvàchứcnăngcủaUnit.ĐiềunàythườngđòihỏitấtcảcácnhánhbêntrongUnitđềuphảiđượckiểmthửđểpháthiệnnhánhphátsinhlỗi.MộtnhánhthườnglàmộtchuỗicáclệnhđượcthựcthitrongmộtUnit,vídụ:chuỗicáclệnhsauđiềukiệnIfvànằmgiữathen…elselàmộtnhánh.ThựctếviệcchọnlựacácnhánhđểđơngiảnhóaviệckiểmthửvàquéthếtUnitđòihỏiphảicókỹthuật,đôikhiphảidùngthuậttoánđểchọnlựa.Cũngnhưcácmứckiểmthửkhác,UnitTestcũngđòihỏiphảichuẩnbịtrướccáctìnhhuống(testcase)hoặckịchbản(script),trongđóchỉđịnhrõdữliệuvào,cácbướcthựchiệnvàdữliệumongchờsẽxuấtra.Cáctestcasevàscriptnàynênđượcgiữlạiđểtáisửdụng.2.IntegrationTest–KiểmthửtíchhợpIntegrationtestkếthợpcácthànhphầncủamộtứngdụngvàkiểmthửnhưmộtứngdụngđãhoànthành.TrongkhiUnitTestkiểmthửcácthànhphầnvàUnitriênglẻthìIntgrationTestkếthợpchúnglạivớinhauvàkiểmthửsựgiaotiếpgiữachúng.IntegrationTestcó2mụctiêuchính:• PháthiệnlỗigiaotiếpxảyragiữacácUnit.• TíchhợpcácUnitđơnlẻthànhcáchệthốngnhỏ(subsystem)vàcuốicùnglànguyênhệthốnghoànchỉnh(system)chuẩnbịchokiểmthửởmứchệthống(SystemTest).TrongUnitTest,lậptrìnhviêncốgắngpháthiệnlỗiliênquanđếnchứcnăngvàcấutrúcnộitạicủaUnit.CómộtsốphépkiểmthửđơngiảntrêngiaotiếpgiữaUnitvớicácthànhphầnliênquankhác,tuynhiênmọigiaotiếpliênquanđếnUnitthậtsựđượckiểmthửđầyđủkhicácUnittíchhợpvớinhautrongkhithựchiệnIntegrationTest.Trừmộtsốítngoạilệ,IntegrationTestchỉnênt ...
Nội dung trích xuất từ tài liệu:
Các loại kiểm thử phần mềmCácloạikiểmthửphầnmềmMộthoạtđộngmangtínhsốngcòntrongcácdựánsảnxuấthoặcgiacôngphầnmềm(PM),đólàkiểmthử(SoftwareTesting).DânlàmPMchắchẳnkhôngainghingờvaitròquantrọngcủanó,tuynhiênkhôngphảiai(cảtrongngànhvàngoàingành)cũnghiểurõhoạtđộngnày.Bảnthâncôngviệckiểmthửphầnmềm(KTPM)cũnglàmộtlĩnhvựchoạtđộngđộclậpvàkhá“hấpdẫn”.CùngvớicácdựángiacôngsảnxuấtPM,hiệncũngcókhánhiềudựánmànộidungcôngviệcchỉlàkiểmthửnhữngPMđãđượckháchhàngpháttriểnsẵn.MặcdùcôngviệcKTPMkhôngxalạsongnhữngkháiniệmvàkỹthuậtlạikhárắcrối.Bàiviếtnàysẽnhằmcungcấpmộtcáinhìntươngđốibaoquátvềlĩnhvực“tưởngcũnhưngkhôngcũ”này.KIỂMTHỬPHẦNMỀMLÀGÌ?ThựcraKTPMlàcôngviệcmàbấtcứngườinàotừngthamgiapháttriểnphầnmềm(PTPM)đềubiếtvàtừnglàm.Theonghĩathôngthườngnhất,KTPMbaogồmviệc“chạythử”PMhaymộtchứcnăngcủaPM,xemnó“chạy”đúngnhưmongmuốnhaykhông.Việckiểmthửnàycóthểthựchiệntừngchặng,saumỗichứcnănghoặcmoduleđượcpháttriển,hoặcthựchiệnsaucùng,khiPMđãđượcpháttriểnhoàntất.KTPMđứngởvịtríhếtsứcnhạycảm,nólàbướcđệmgiữagiaiđoạnxâydựngPMvàsửdụngPM,trướckhigiaosảnphẩmhoànchỉnhchokháchhàng.Bạncóthểthamkhảobài“Tổngquancácmôhìnhpháttriểnphầnmềm”trongTGVTAsốtháng8/2005(ID:A0508_106)đểbiếtvịtrícủaKTPMtrongcácmôhìnhPTPM.Hình1:4mứcđộcơbảncủakiểmthửphầnmềmCÁCMỨCĐỘCỦAKTPMThựctế,KTPMkhôngđơngiảnnhưnhiềungườithườngnghĩ,côngviệcnàycónhiềumứcđộkhácnhauvàcómốitươngquanvớicácchặngpháttriểntrongdựánPTPM.Hình1chothấy4mứcđộcơbảncủaKTPMvàhình2chothấymốitươngquanvớicácchặngPTPMtrongmôhìnhVmodel.PhầnsausẽlàmrõchitiếtvềcácmứcđộKTPM,domộtsốthuậtngữkhôngcótừtươngđươngsátnghĩatrongtiếngViệt,mặtkhácđểcácbạntiệnthamkhảosaunày,chúngtôixingiữnguyênmộtsốthuậtngữgốctiếngAnh.1.UnitTest–KiểmthửmứcđơnvịĐểcóthểhiểurõvềUnitTest,kháiniệmtrướctiêntacầnlàmrõ:thếnàolàmộtđơnvịPM(Unit)?MộtUnitlàmộtthànhphầnPMnhỏnhấtmàtacóthểkiểmthửđược.Theođịnhnghĩanày,cáchàm(Function),thủtục(Procedure),lớp(Class),hoặccácphươngthức(Method)đềucóthểđượcxemlàUnit.VìUnitđượcchọnđểkiểmthửthườngcókíchthướcnhỏvàchứcnănghoạtđộngđơngiản,chúngtakhôngkhókhăngìtrongviệctổchức,kiểmthử,ghinhậnvàphântíchkếtquảkiểmthử.Nếupháthiệnlỗi,việcxácđịnhnguyênnhânvàkhắcphụccũngtươngđốidễdàngvìchỉkhoanhvùngtrongmộtđơnthểUnitđangkiểmthử.Mộtnguyênlýđúckếttừthựctiễn:thờigiantốnchoUnitTestsẽđượcđềnbùbằngviệctiếtkiệmrấtnhiềuthờigianvàchiphíchoviệckiểmthửvàsửalỗiởcácmứckiểmthửsauđó.UnitTestthườngdolậptrìnhviênthựchiện.CôngđoạnnàycầnđượcthựchiệncàngsớmcàngtốttronggiaiđoạnviếtcodevàxuyênsuốtchukỳPTPM.Thôngthường,UnitTestđòihỏikiểmthửviêncókiếnthứcvềthiếtkếvàcodecủachươngtrình.MụcđíchcủaUnitTestlàbảođảmthôngtinđượcxửlývàxuất(khỏiUnit)làchínhxác,trongmốitươngquanvớidữliệunhậpvàchứcnăngcủaUnit.ĐiềunàythườngđòihỏitấtcảcácnhánhbêntrongUnitđềuphảiđượckiểmthửđểpháthiệnnhánhphátsinhlỗi.MộtnhánhthườnglàmộtchuỗicáclệnhđượcthựcthitrongmộtUnit,vídụ:chuỗicáclệnhsauđiềukiệnIfvànằmgiữathen…elselàmộtnhánh.ThựctếviệcchọnlựacácnhánhđểđơngiảnhóaviệckiểmthửvàquéthếtUnitđòihỏiphảicókỹthuật,đôikhiphảidùngthuậttoánđểchọnlựa.Cũngnhưcácmứckiểmthửkhác,UnitTestcũngđòihỏiphảichuẩnbịtrướccáctìnhhuống(testcase)hoặckịchbản(script),trongđóchỉđịnhrõdữliệuvào,cácbướcthựchiệnvàdữliệumongchờsẽxuấtra.Cáctestcasevàscriptnàynênđượcgiữlạiđểtáisửdụng.2.IntegrationTest–KiểmthửtíchhợpIntegrationtestkếthợpcácthànhphầncủamộtứngdụngvàkiểmthửnhưmộtứngdụngđãhoànthành.TrongkhiUnitTestkiểmthửcácthànhphầnvàUnitriênglẻthìIntgrationTestkếthợpchúnglạivớinhauvàkiểmthửsựgiaotiếpgiữachúng.IntegrationTestcó2mụctiêuchính:• PháthiệnlỗigiaotiếpxảyragiữacácUnit.• TíchhợpcácUnitđơnlẻthànhcáchệthốngnhỏ(subsystem)vàcuốicùnglànguyênhệthốnghoànchỉnh(system)chuẩnbịchokiểmthửởmứchệthống(SystemTest).TrongUnitTest,lậptrìnhviêncốgắngpháthiệnlỗiliênquanđếnchứcnăngvàcấutrúcnộitạicủaUnit.CómộtsốphépkiểmthửđơngiảntrêngiaotiếpgiữaUnitvớicácthànhphầnliênquankhác,tuynhiênmọigiaotiếpliênquanđếnUnitthậtsựđượckiểmthửđầyđủkhicácUnittíchhợpvớinhautrongkhithựchiệnIntegrationTest.Trừmộtsốítngoạilệ,IntegrationTestchỉnênt ...
Tìm kiếm theo từ khóa liên quan:
Kiểm thử phần mềm các mức độ kiểm thử Kiểm thử mức đơn vị Kiểm thử tích hợp Kiểm thử mức hệ thống Kiểm thử chấp nhận sản phẩmGợi ý tài liệu liên quan:
-
Bài giảng Kiểm thử phần mềm: Bài 2
34 trang 314 0 0 -
Giáo trình Công nghệ phần mềm nâng cao: Phần 2
202 trang 226 0 0 -
Nhập môn kiểm thử phần mềm: Chương 1 - Trần Duy Hoàng
33 trang 51 0 0 -
Bài giảng Kiểm thử phần mềm - Chương 2: Quy trình kiểm thử phần mềm
19 trang 44 0 0 -
Báo cáo Điện toán đám mây của Google và ứng dụng xây dựng hệ thống quản lý dịch vụ
9 trang 42 0 0 -
Báo cáo Phân tích, thiết kế phần mềm nhúng
4 trang 42 0 0 -
Bài tập lớn Kỹ thuật phần mềm: Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java
38 trang 41 0 0 -
Nghiên cứu chất lượng phần mềm: Phần 1
105 trang 39 0 0 -
Báo cáo Nghiên cứu đề xuất xây dựng mạng xã hội học tập tại Việt Nam
12 trang 34 0 0 -
Giáo trình Kiểm thử và đảm bảo chất lượng phần mềm: Phần 1
96 trang 34 0 0