1 / 22

Kiểm thử và đảm bảo chất lượng phần mềm

Kiểm thử và đảm bảo chất lượng phần mềm. Kiểm thử dựa trên bảng quyết định. Tổng quan. Kiểm thử hàm BVA … ECT … Kiểm thử dựa trên bảng quyết định (DT) Bảng quyết định Kỹ thuật Ví dụ. Bảng quyết định. Yêu cầu chức năng có thể mô tả bằng bảng quyết định (DT)

rob
Download Presentation

Kiểm thử và đảm bảo chất lượng phần mềm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kiểmthửvàđảmbảochấtlượngphầnmềm Kiểmthửdựatrênbảngquyếtđịnh

  2. Tổngquan • Kiểmthửhàm • BVA • … • ECT • … • Kiểmthửdựatrênbảngquyếtđịnh(DT) • Bảngquyếtđịnh • Kỹthuật • Vídụ

  3. Bảngquyếtđịnh • Yêucầuchứcnăngcóthểmôtảbằngbảngquyếtđịnh (DT) • DT làmộtcáchchínhxácvàgọnđểmôtả logic phứctạp • Gắncácđiềukiệnvớicáchànhđộngtươngứng • Giốnglệnh if-then-else và switch-case • DT cóthểliênkếtnhiềuđiềukiệnđộclậpvớivàihànhđộngmộtcáchdễhiểu • Kháccáccấutrúcđiềukhiểntrongcácngônngữlậptrình

  4. Vídụvềbảngquyếtđịnh Khắcphụcsựcố máy in

  5. Sửdụngbảngquyếtđịnh • Đểquansáttấtcảcácđiềukiệndễdàng • Cóthểdùngđể • Môtả logic phứctạp • Sinh ca kiểmthử, còngọilàkiểmthửdựatrên logic • Kiểmthửdựatrên logic đượcxemlà: • Kiểmthửcấutrúckhiápdụngchocáccấutrúcchươngtrình • Vdluồngđiềukhiển • Kiểmthửhàmkhiápdụngchođặctả.

  6. Cấutrúcbảngquyếtđịnh • Mỗiđiềukiệntươngứngvớimộtbiến, mộtquanhệ, hoặcmộtmệnhđề (predicate) • Cácgiátrịcủađiềukiện • Chỉlà True/False – Bảngquyếtđịnhhạnchế • Mộtsốgiátrị– Bảngquyếtđịnhmởrộng • Giátrịkhôngquantâm • Mỗihànhđộnglàmộtthủtụchoặcthaotácphảithựchiện • Đánhdấuhànhđộngcó/khôngxảyra

  7. Vídụbảngquyếtđịnh tính lương Cách tính lương

  8. Phương phápxâydựngbảng • Xácđịnhcácđiềukiệnvàgiátrịcủachúng • Xácđịnhsốluậttốiđa • Xácđịnhcáchànhđộng • Đánhsốcácluậtnếucần • Đánhsốcáchànhđộngthíchhợpchomỗiluật • Kiểmtrachínhsách • Đơngiảnhóacácluật (gộpcột)

  9. Sửdụngbảngquyếtđịnh • Bảng thích hợp khi: • Đặc tả có thể chuyển về dạng bảng • Thứ tự các hành động xảy ra không quan trọng • Thứ tự các luật không ảnh hưởng đến hành động • Khi một luật thỏa mãn và được chọn thì không cần xét luật khác • Các hạn chế trên không ảnh hưởng đến việc sử dụng bảng • Trong hầu hết các ứng dụng thứ tự các mệnh đề được xét là không quan trọng

  10. Mộtsốvấnđềvớibảngquyếtđịnh • Trướckhisửdụngbảngcầnđảmbảo: • Cácluậtphảiđầyđủ • Cómọitổhợp • Cácluậtphảinhấtquán • Mọitổhợpgiátrịchânlýchỉgâyramộthoặcmộttậphànhđộng

  11. Thiết kế ca kiểmthử • Khiđặctảđãđượckiểmtra, mụctiêulàchứngtỏchươngtrìnhthựchiệncáchànhđộngđúngchomọitổhợpcácgiátrịcủamệnhđề • Nếucó k luậtvà n mệnhđềđúng/sai, thìcóítnhất k trườnghợpvànhiềunhấtlà 2^n trườnghợpphảixét. • Cóthểdựatrêncácluậtchưamởrộnghoặccácluậtđãmởrộngvới 2^n ca • Xácđịnhđầuvàochomỗi ca

  12. Thiết kế ca kiểmthử • Đểxácđịnh ca kiểmthử, chúng ta chuyểncácđiềukiệnthànhđầuvào, hànhđộngthànhđầura. • Mộtsốđiềukiệnsẽthamchiếuđếncác lớp tươngđươngđầuvào, vàhànhđộngthamchiếuđếncácphầnxửlýchứcnăngchínhcủacộtđangxét. • Cácluậtđượcchuyểnthànhcác ca kiểmthử

  13. Bảngquyếtđịnhcho Triangle

  14. Ca kiểmthửcho Triangle

  15. Bảng quyết định cho NextDate(thử lần 1) • Chúng ta cóthể chia thànhcác lớp tươngđươngsau: M1= {month | month has 30 days} M2= {month | month has 31 days} M3= {month | month is February} D1= {day | 1 ≤ day ≤ 28} D2= {day | day = 29} D3= {day | day = 30} D4= {day | day=31} Y1= {year | year = 1900} Y2= {year | 1812 ≤ year ≤ 2012 AND year ≠ 1900 AND (0 = year mod 4} Y3= {year | 1812 ≤ year ≤ 2012 AND 0 ≠ year mod 4} • Khiđó ta cóbảngquyếtđịnhnhưsau

  16. BảngquyếtđịnhchoNextDate (1)

  17. BảngquyếtđịnhchoNextDate (2)

  18. BảngquyếtđịnhchoNextDate(Lầnthử 2) • Xétmộtcáchphânhoạchkhác: M1= {month | month has 30 days} M2= {month | month has 31 days} M3= {month | month is December} M4= {month | month is February} D1= {day | 1 ≤ day ≤ 27} D2= {day | day = 28} D3= {day | day = 29} D4= {day | day = 30} D5= {day | day=31} Y1= {year | year is a leap year} Y2= {year | year is a common year} M1= {month | month has 30 days} M2= {month | month has 31 days} M3= {month | month is February} D1= {day | 1 ≤ day ≤ 28} D2= {day | day = 29} D3= {day | day = 30} D4= {day | day=31} Y1= {year | year = 1900} Y2= {year | 1812 ≤ year ≤ 2012 AND year ≠ 1900 AND (0 = year mod 4} Y3= {year | 1812 ≤ year ≤ 2012 AND 0 ≠ year mod 4}

  19. BảngquyếtđịnhchoNextDate (1)

  20. BảngquyếtđịnhchoNextDate (2)

  21. Quan sátvàhướngdẫn • Bảngquyếtđịnhphùhợpkhi • Cónhiềuquyếtđịnhđưara • Cócácquanhệ logic quantrọnggiữacácbiếnđầuvào • Cócác tính toán liênquanđếncáctập con củacácbiếnđầuvào • Cóquanhệnhânquảgiữađầuvàovàđầura • Có logic tính toán phứctạp (độphứctạpđồ thị cyclomaticcao) • Bảngquyếtđịnhkhôngdễmởrộng (scale up) • Bảngquyếtđịnhcóthểlàmmịn, cảitiếndần

  22. Bàitập • Ứngdụngkiểmthửbảngquyếtđịnhchomộtsốbài toán vídụ

More Related