html5-img
1 / 45

Software testing Kiểm thử phần mềm

Software testing Kiểm thử phần mềm. Nội dung. Kiểm thử hệ thống (system testing) Kiểm thử thành phần (component testing) Thiết kế test case (test case design) Kiểm thử tự động (test automation). Tiến trình Kiểm thử. Kiểm thử thành phần

december
Download Presentation

Software testing Kiểm thử 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. Software testingKiểmthửphầnmềm

  2. Nội dung Kiểmthửhệthống (system testing) Kiểmthửthànhphần (component testing) Thiếtkế test case (test case design) Kiểmthửtựđộng (test automation)

  3. Tiến trình Kiểm thử • Kiểmthửthànhphần • Kiểmthửcácthànhphầnriêngbiệtcủachươngtrình • Thườnglàtráchnhiệmcủangườipháttriểnphầnmềm • Kiểmthửxuấtpháttừkinhnghiệmcủangườipháttriểnphầnmềm. Kiểmthửhệthống • Kiểmthửcácnhómthànhphầntíchhợpđểtạora 1 hệthốnghoặc 1 hệthốngphụ • Làtráchnhiệmcủanhómkiểmthửđộclập • Kiểmthửdựatrênđặctảhệthống

  4. Giai đoạn kiểm thử Component testing System testing Software developer Independent testing team

  5. Kiểm tra lỗi Mục tiêu của việc kiểm tra lỗi là để phát hiện ra những lỗi trong chương trình Kiểm tra thành công là làm cho chương trình chạy 1 cách bất thường

  6. Mục tiêu của tiến trình kiểm tra Kiểmthửxácnhận - Đểgiảithíchchongườipháttriểnphầnmềmvàkháchhàngthấyđượccácyêucầumàhệthốngcó. - kiểmthửthànhcônglàchothấyhệthốnghoạtđộngnhưdựđịnh Defect testing - Đểpháthiệnlỗihoặckhiếmkhuyếttronghệthốngmàhoạtđộngcủanókhôngđúnghoặckhôngphùhợpvớiđặctả. - Một kiểmthử thành công là làm cho hệ thống thực hiệnkhông chính xác và để lộ một khiếm khuyết trong hệ thống.

  7. Quytrìnhkiểmthửphầnmềm Test case Test data Test results Test reports Design test cases Prepare test data Run program with test data Compare results to test cases

  8. Chínhsáchkiểmthử Chỉcókiểmthửđầyđủmớicóthểchothấy 1 chươngtrìnhluôncókhiếmkhuyết. Tuynhiên, kiểmthửđầyđủlàviệckhôngthể. Chínhsáchkiểmthửxácđịnhcácphươngphápđượcsửdụngtrongviệcchọnlựakiểmthửhệthống. - Tấtcảcácchứcnăngtruycậptrongtrìnhđơnnênđượckiểmthử - Sựkếthợpcácchứcnăngtrongcùng 1 trìnhđơncầnđượckiểmthử. - Trườnghợpđầuvàolàtừphíangườidùngthìtấtcảcácchứcnăngđềuphảiđượckiểmthửvớicảđầuvàođúngvàsai.

  9. Kiểm thử hệ thống Baogồmcácthànhphầntíchhợpđểtạora 1 hệthốnghoặc 1 hệthốngphụ. Cóthểbaogồmviệckiểmthử 1 increment đượcgiaochokháchhàng. Haigiaiđoạn: - Kiểmthửtíchhợp: nhóm kiểmthử có thể truy cậpvào mã nguồn của hệ thống. Hệ thống được kiểmthửlàcácthành phần được tích hợp. - Kiểmthửpháthành(release testing): nhóm kiểm thử kiểmthửhệ thống hoàn chỉnh sẽ được chuyển giao như một black-box.

  10. Kiểm thử tích hợp Baogồmviệcxâydựng 1 hệthốngtừcácthànhphầnvàkiểmthửđểpháthiệnvấnđềphátsinhtừcáctươngtácthànhphần. Tíchhợpđầu-cuối: Pháttriểnkhungsườnhệthốngvà populate nóvớicácthànhphần. Tịchhợptrên-dưới: Đểđơngiảnhóacáclỗicụcbộ, hệthốngnênđượctíchhợptừngbướcmột.

  11. Incremental integration testing A T1 T1 A T1 T2 A T2 B B T3 T2 T3 C T4 B T3 T4 C D T5

  12. Tiếp cận kiểm thử Xácnhậnkiếntrúc:KiểmthửtíchhợpTop-Down để pháthiệnrasai sót trong kiến trúc củahệ thống.

  13. Black-box testing

  14. Nguyên tắc kiểm thử Nguyêntắckiểmthừlàcácgợi ý chonhómkiểmthửđểgiúphọchọncáchkiểmthửmàsẽlàmbộclộcáckhuyếtđiểmtronghệthống. Chọncácđầuvàotácđộngđếnhệthốngđểtạoratấtcảcácthôngbáolỗi. Thiếtkếđầuvàođểgâyralỗitrànbộđệm Lặplạicácđầuvàogiốngnhauhoặchàngloạtđầuvàotrong 1 vàilần. Lượngkếtquảtínhtoánlàquánhiều hay quáít.

  15. Kịchbảnkiểmthử A student in Scotland is studying American History and has been asked to write a paper on ‘Frontier mentality in the American West from 1840 to 1880’. To do this, she needs to find sources from a range of libraries. She logs on to the LIBSYS system and uses the search facility to discover if she can access riginal documents from that time. She discovers sources in various US university libraries and downloads copies of some of these. However, for one document, she needs to have confirmation from her university that she is a genuine student and that use is for non-commercial purposes. The student then uses the facility in LIBSYS that can request such permission and registers her request. If granted, the document will be downloaded to the registered library’s server and printed for her. She receives a message from LIBSYS telling her that she will receive an e-mail message when the printed document is available for collection.

  16. Các kiểm thử hệ thống Kiểm tra cơ chế đăng nhập bằng cách sử dụng thông tin đăng nhập chính xác và không chính xác để kiểm trarằngngười dùng hợp lệ được chấp nhận và người sử dụng không hợp lệ bị từ chối. Kiểm tra các tìm kiếmcơsở bằng cách sử dụng các truy vấn khác nhau đối với nguồn đãbiếtđêkiểm tra xem cơ chế tìm kiếm cóthực sự tìm kiếmcác tài liệu. Kiểm tra hệ thốngtrìnhbày cơ sở để kiểm tra xem thông tin vềcác văn bảncó được hiển thị đúng cách. Kiểm tracác cơ chế để yêu cầu sự cho phép để tải về. Kiểm tra e-mail phảnhồi cho biết rằng các tài liệu được tải về làtồntại.

  17. Use cases Use cases có thể là các cơ sở để phát sinh các kiểm thử cho hệ thống. Chúng giúp cho việc xác định các hoạt động để kiểm thử và giúp cho việc thiết kế test case. Từ một lược đồ trình tự liên quan, cácđầu vào và đầu ra phải được tạo ra cho các lần kiểm thừ có thể được xác định.

  18. Collect weather data sequence chart

  19. Kiểm thử hiệu suất Một phần của release testing có thể bao gồm thử nghiệmsự nổi lên đặc tính của một hệ thống, chẳng hạnnhư hiệu suất và độ tin cậy. Hiệu suất kiểm tra thường liên quan đến kế hoạchhàng loạt các bài kiểm tra nơi nạp là ổn địnhtăng cho đến khi hệ thống hoạt độngtrở nên không thể chấp nhận.

  20. Kiểm thử thành phần Thành phần test là quá trình thử nghiệm thành phần riêng biệt trong hệ thống. Đây là một quá trình kiểm tra lỗi như vậy mục đích của nó là để lộ những lỗi lầm trong các thành phần. Có nhiều loại khác nhau của thành phần có thể sẽ được thử nghiệm ở giai đoạn này: chức năng cá nhân hoặc các chứcnăng trong mộtđối tượng. các lớp đối tượng có nhiều thuộc tính và chứcnăng. các chức năng củathành phần hỗn hợp đượctạo thành từ các đối tượng khác nhau. các thành phần hỗn hợp có một giao diện được định nghĩa được sử dụng để truy cập các chức năng của nó chức năng cá nhân hoặc các phương phápcánhân là loại đơn giản nhất của thành phần, các test của bạn là một tập hợp các đườngdẫn đến những thói quen với các thông số đầu vào khác nhau. bạn có thể sử dụng các phương pháp tiếp cận để kiểm tra , thảo luận trong phần tiếp theo, để thiết kế các test chức năng hoặc các chứcnăng.

  21. Giao diện đối tượng trạm thời tiết

  22. Trạm thử nghiệm thời tiết Cần phải xác định trường hợp thử nghiệm cho báo cáo thời tiết,hiệu chỉnh, kiểm tra, khởi động và tắt máy. Sử dụng một mô hình nhà nước, xác định trình tự của chuyển trạng thái để thử nghiệm và sự kiện trình tự để gây ra những hiệu ứng chuyển tiếp Ví dụ: Chờ đợi -> đo đạc -> Kiểm tra -> Truyền -> Chờ đợi

  23. Kiểmthửgiaodiện Mục tiêu là để phát hiện lỗi doGiao diện hoặc giả định không hợp lệ về giao diện. Đặc biệt quan trọng đối với hướng đối tượng phát triển các đối tượng được xác định bằng các giao diện của nó.

  24. Interface testing

  25. Các loại giao diện Các thông số giao diện • Dữ liệu truyền từ một thủ tục khác. Chia sẻ bộ nhớ giao diện. _ Block của bộ nhớ được chia sẻ giữa các thủ tục hoặcchức năng. Giao diện thủ tục _ Hệ thống đóng gói là một tập hợp các thủ tục và bởi các hệ thống phụ khác. Thông báo qua giao diện _ Hệ thống yêu cầu dịch vụ từ system.s

  26. Lỗi giao diện *Sử dụng sai giao diện Một thành phần giao diện gọi thành phần khác và làm cho một lỗi trong việc sử dụng thành phần đó ví dụ:  sai thứ tự các thông số . *Sự hiểu lầm giao diện Những giả định về hành vi của các thành phần không chính xác. *Lỗi thời Các tên gọi của tốc độ hoạt động và các thông tin mới được truy cập về thành phần khác .

  27. Hướng dẫn kiểm tra giao diện • Thiết kế các bài kiểm tra để các tham số được gọi làthủ tục tại phạm vi các đầu cực của của nó. • Luôn luôn kiểm tra các tham số con trỏ với con trỏ null. • Thiết kế các bài kiểm tra thành phần gây thất bại. • Sử dụng qua tin nhắn thử nghiệm trong hệ thống. • Trong chia sẻ hệ thống bộ nhớ, thay đổi thứ tựcác thành phần được kích hoạt.

  28. Trường hợp kiểm tra thiết kế • Liên quan đến việc thiết kế các trường hợp thử nghiệm (đầu vào và kết quả đầu ra) dùng để kiểm tra hệ thống. • Mục tiêu của thiết kế trường hợp thử nghiệm là tạo ra mộtthiết lập các bài kiểm tra có hiệu quả trong quá trình xác nhận và lỗi thử nghiệm. • Thiết kế phương pháp tiếp cận: • Dựa trên yêu cầu thử nghiệm; • Phân vùng thử nghiệm; • thử nghiệm Kết cấu.

  29. Thử nghiệm dựa trên yêu cầu • Một nguyên tắc chung của yêu cầukỹ thuật này là yêu cầu cần được kiểm chứng. • Yêu cầu dựa trên thử nghiệm là một xác nhậnkiểm tra kỹ thuật, nơi bạn xem xét từngyêu cầu và rút ra một tập hợp các yêu cầukiểmthử.

  30. yêu cầuLIBSYS • Người dùng sẽ có thể tìm kiếm hoặc là tất cả các thiết lập ban đầu của cơ sở dữ liệu hoặc chọn một tập con từ đó. • Hệ thống sẽ cung cấp cho người xem thích hợp cho người sử dụng để đọc tài liệu trong tài liệu lưu trữ. • Mỗi đơn hàng được cấp một định danh duy nhất (ORDER_ID) mà người dùng phải có thể sao chép vào khu vực lưu trữ lâu dài của tài khoản.

  31. KiểmthửLIBSYS • Bắt đầu tìm kiếm: cho người sử dụng tìm kiếm cho các hạng mục được biết đến • Bắt đầu dùng tìm kiếm cho các hạng mục đó được biết là có mặt và được biết không có mặt, nơi tập hợp các cơ sở dữ liệubao gồm 2 cơ sở dữ liệu • Bắt đầu dùng tìm kiếm cho các hạng mục đó được biết là cómặt và được biết không có mặt nơi đặt cơ sở dữ liệu, bao gồm hơn 2 cơ sở dữ liệu. • Chọn một cơ sở dữ liệu từ các thiết lập cơ sở dữ liệu và bắt đầungười dùng tìm kiếm cho các hạng mục được biết là hiện tại vàđược biết đến không có mặt. • Chọn nhiều hơn một cơ sở dữ liệu từ các thiết lập cơ sở dữ liệuvà bắt đầu tìm kiếm cho các hạng mục đó được biết là có mặtvà được biết không có mặt.

  32. Phân vùng thử nghiệm • Dữ liệu đầu vào và kết quả đầu ra thường rơi vàocác lớp học khác nhau mà tất cả các thành viên của mộtlớp học có liên quan. • Mỗi của các lớp này là tương đươngphân vùng, lĩnh vực mà chương trìnhcư xử một cách tương đương cho mỗi lớpthành viên. • trường hợp kiểm tra nên được lựa chọn từ mỗiphân vùng.

  33. phân vùng tương đương

  34. search routine - input partitions • Nhập vào những gì phù hợp với điều kiện ban đầu • Nhập vào nơi yếu tố khóa là 1 thành phần của mảng • Nhập vào nơi yếu tố khóa không là 1 thành phần của mảng

  35. search routine - input partitions

  36. Nguyên tắc kiểm thử( tuần tự) • Kiểm thử phần mềm với trình tự mà chỉ có 1 giá trị đơn • Sử dụng các kích thước khác nhau của trình tự trong những kiểm thử khác nhau • Xuất phát từ việc kiểm thử : phần đầu giữa cuối của trình tự cho phép • Kiểm thử với chiều dài trình tự là 0

  37. Kiểm thử cấu trúc • Thông thường gọi là kiểm thử white-box • Dẫn xuất của trường hợp kiểm thử dựa theo cấu trúc chương trình. Sự nhận biết của chương trình được dùng để xác nhận trường hợp kiểm thử thêm vào • Đối tượng để thi hành tất cả dòng lệnh chương trình( không phải tất cả đường kết hợp)

  38. Kiểm thử cấu trúc

  39. Tìm kiếm nhị phân- phân vùng tương đương • Thỏa mãn điều kiện ban đầu, yếu tố khóa trong mảng • Thỏa mãn điều kiện ban đầu, yếu tố khóa không ở trong mảng • Không thỏa mãn điều kiện ban đầu, yếu tố khóa trong mảng • Không thỏa mãn điều kiện ban đầu, yếu tố khóa không ở trong mảng • Mảng nhập vào giá trị đơn • Mảng nhập vào giá trị chẵn • Mảng nhập vào giá trị lẻ

  40. Tìm kiếm nhị phân- phân vùng tương đương

  41. Kiểmthửđườngđi • Đốitượngcủakiểmthửđườngđilàđểchắcchắnrằngbộtrườnghợpkiểmthửlàmỗiđườngtrongchươngtrìnhđượcthựcthitệnhất 1 lần • Điểmbắtđầuchokiểmthửđườngđilàchươngtrìnhluồngđồthị, biểudiễn node môtảsựgiảiquyếtcủachươngtrìnhvàvòngcungbiểuthịluồngđiềukhiển • Nhữngdònglệnhvớicácđiềukiệnlà node trongluồngđồthị

  42. Kiểm thử tự động • Kiểm thử là giai đoạn tốn kém.quy trình kiểm thử cung cấp loạt các công cụ để giảm thời gian và chi phí • Hệ thống như là Junit hỗ trợ sự thực thi kiểm thử tự động • Hầu hết quy trình kiểm thử là hệ thống mở vì kiểm thừ cần là đặc tả tổ chức • Chúng thông thường khó để tích hợp vói quy trình thiết kế và phần tích thân thiện

  43. A testing workbench

  44. Testing workbench adaptation • Các tập lệnh phải được phát triển để thích ứng với giao diện người dùng, kiểu dáng cho bộ sinh dữ liệu thử • Kiểm tra kết quả đầu ra phải được kiểm chứng lại bằng phương pháp thủ công • Đặc biệt có thể so sánh các tập tin để phát triển

  45. Key points • Kiểmthửgiaodiệnlàtìmranhữnglỗitrongviệcthiếtkếgiaodiệncủanhữngthànhphầnhỗnhợpcấuthành • Phântíchcấutrúcdựavàoviệcphântích 1 chươngtrìnhvàkiểmtranhữngphátsinhtừviệcphântíchđó. • Hệthốngkiểmthửtựđộnglàmgiảm chi phíkiểmthửbằngcáchhỗtrợtrongviệckiểmthửchươngtrìnhvới 1 loạtcáccôngcụphầnmềm.

More Related