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

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

description

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 - PowerPoint PPT Presentation

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

Page 1: Software testing Kiểm thử phần mềm

Software testingSoftware testingKiểm thử phần mềmKiểm thử phần mềm

Page 2: Software testing Kiểm thử phần mềm

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

Page 3: Software testing Kiểm thử phần mềm

Tiến trình Kiểm thửTiến trình Kiểm thử Kiểm thử thành phầnKiểm thử thành phần

Kiểm thử các thành phần riêng biệt của chương trìnhKiểm thử các thành phần riêng biệt của chương trình Thường là trách nhiệm của người phát triển phần mềmThường là trách nhiệm của người phát triển phần mềm Kiểm thử xuất phát từ kinh nghiệm của người phát Kiểm thử xuất phát từ kinh nghiệm của người phát

triển phần mềm.triển phần mềm.Kiểm thử hệ thốngKiểm thử hệ thống- Kiểm thử các nhóm thành phần tích hợp để tạo ra 1 hệ Kiểm thử các nhóm thành phần tích hợp để tạo ra 1 hệ

thống hoặc 1 hệ thống phụthống hoặc 1 hệ thống phụ- Là trách nhiệm của nhóm kiểm thử độc lậpLà trách nhiệm của nhóm kiểm thử độc lập- Kiểm thử dựa trên đặc tả hệ thốngKiểm thử dựa trên đặc tả hệ thống

Page 4: Software testing Kiểm thử phần mềm

Giai đoạn kiểm thửGiai đoạn kiểm thử

Component testing System testing

Software developer Independent testing team

Page 5: Software testing Kiểm thử phần mềm

Kiểm tra lỗiKiểm tra lỗi Mục tiêu của việc kiểm tra lỗi là để phát hiện 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ìnhra những lỗi trong chương trình Kiểm tra thành công là làm cho 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ườngchạy 1 cách bất thường

Page 6: Software testing Kiểm thử phần mềm

Mục tiêu của tiến trình kiểm traMục tiêu của tiến trình kiểm tra Kiểm thử xác nhậnKiểm thử xác nhận

- Để giải thích cho người phát triển phần mềm và khách - Để giải thích cho người phát triển phần mềm và khách hàng thấy được các yêu cầu mà hệ thống có.hàng thấy được các yêu cầu mà hệ thống có.- kiểm thử thành công là cho thấy hệ thống hoạt động như - kiểm thử thành công là cho thấy hệ thống hoạt động như dự địnhdự định

Defect testingDefect testing- Để phát hiện lỗi hoặc khiếm khuyết trong hệ thống mà - Để phát hiện lỗi hoặc khiếm khuyết trong hệ thống mà hoạt động của nó không đúng hoặc không phù hợp với đặc hoạt động của nó không đúng hoặc không phù hợp với đặc tả.tả.- - Một Một kiểm thửkiểm thử thành công là làm cho hệ thống thực hiện thành công là làm cho hệ thống thực hiện không chính xác và để lộ một khiếm khuyết trong hệ thống.không chính xác và để lộ một khiếm khuyết trong hệ thống.

Page 7: Software testing Kiểm thử phần mềm

Quy trình kiểm thử phần mềmQuy trình kiểm thử phần mềm

Test case

Test data

Test results

Test report

s

Design test cases

Prepare test data

Run program with test

data

Compare results to test cases

Page 8: Software testing Kiểm thử phần mềm

Chính sách kiểm thửChính sách kiểm thử Chỉ có kiểm thử đầy đủ mới có thể cho thấy 1 chương Chỉ có kiểm thử đầy đủ mới có thể cho thấy 1 chương

trình luôn có khiếm khuyết. Tuy nhiên, kiểm thử đầy trình luôn có khiếm khuyết. Tuy nhiên, kiểm thử đầy đủ là việc không thể.đủ là việc không thể.

Chính sách kiểm thử xác định các phương pháp được Chính sách kiểm thử xác định các phương pháp được sử dụng trong việc chọn lựa kiểm thử hệ thống.sử dụng trong việc chọn lựa kiểm thử hệ thống.- Tất cả các chức năng truy cập trong trình đơn nên - Tất cả các chức năng truy cập trong trình đơn nên được kiểm thửđược kiểm thử- Sự kết hợp các chức năng trong cùng 1 trình đơn cần - Sự kết hợp các chức năng trong cùng 1 trình đơn cần được kiểm thử.được kiểm thử.- Trường hợp đầu vào là từ phía người dùng thì tất cả - Trường hợp đầu vào là từ phía người dùng thì tất cả các chức năng đều phải được kiểm thử với cả đầu vào các chức năng đều phải được kiểm thử với cả đầu vào đúng và sai.đúng và sai.

Page 9: Software testing Kiểm thử phần mềm

Kiểm thử hệ thốngKiểm thử hệ thống Bao gồm các thành phần tích hợp để tạo ra 1 hệ thống Bao gồm các thành phần tích hợp để tạo ra 1 hệ thống

hoặc 1 hệ thống phụ.hoặc 1 hệ thống phụ. Có thể bao gồm việc kiểm thử 1 increment được giao Có thể bao gồm việc kiểm thử 1 increment được giao

cho khách hàng.cho khách hàng. Hai giai đoạn:Hai giai đoạn:

- Kiểm thử tích hợp: - Kiểm thử tích hợp: nhóm nhóm kiểm kiểm thử có thể truy cậpthử có thể truy cập vào vào mã nguồn của hệ thống. Hệ thống được mã nguồn của hệ thống. Hệ thống được kiểm thử là các kiểm thử là các thành phần được tích hợpthành phần được tích hợp..- Kiểm thử phát hành(release testing):- Kiểm thử phát hành(release testing): nhóm kiểm thử nhóm kiểm thử kiểm thử kiểm thử hệ thống hoàn chỉnh sẽ được chuyển giao như hệ thống hoàn chỉnh sẽ được chuyển giao như mộtmột black-box black-box..

Page 10: Software testing Kiểm thử phần mềm

Kiểm thử tích hợpKiểm thử tích hợp Bao gồm việc xây dựng 1 hệ thống từ các thành Bao gồm việc xây dựng 1 hệ thống từ các thành

phần và kiểm thử để phát hiện vấn đề phát sinh từ phần và kiểm thử để phát hiện vấn đề phát sinh từ các tương tác thành phần.các tương tác thành phần.

Tích hợp đầu-cuối:Tích hợp đầu-cuối: Phát triển khung sườn hệ thống và populate nó Phát triển khung sườn hệ thống và populate nó với các thành phần.với các thành phần.

Tịch hợp trên-dưới:Tịch hợp trên-dưới: Để đơn giản hóa các lỗi cục bộ, hệ thống nên Để đơn giản hóa các lỗi cục bộ, hệ thống nên

được tích hợp từng bước một.được tích hợp từng bước một.

Page 11: Software testing Kiểm thử phần mềm

Incremental integration testingIncremental integration testing

A

B

A

B

C

A

B

C

D

T1

T2

T3

T1

T2

T3

T1

T2

T3

T4

T4

T5

Page 12: Software testing Kiểm thử phần mềm

Tiếp cận kiểm thửTiếp cận kiểm thử Xác nhận kiến trúc:Xác nhận kiến trúc: Kiểm thử tích hợpKiểm thử tích hợp Top-Top-

DownDown để để phát hiện ra phát hiện ra sai sót trong kiến trúc sai sót trong kiến trúc của của hệ thống.hệ thống.

Page 13: Software testing Kiểm thử phần mềm

Black-box testingBlack-box testing

Page 14: Software testing Kiểm thử phần mềm

Nguyên tắc kiểm thửNguyên tắc kiểm thử Nguyên tắc kiểm thừ là các gợi ý cho nhóm kiểm thử Nguyên tắc kiểm thừ là các gợi ý cho nhóm kiểm thử

để giúp họ chọn cách kiểm thử mà sẽ làm bộc lộ các để giúp họ chọn cách kiểm thử mà sẽ làm bộc lộ các khuyết điểm trong hệ thống.khuyết điểm trong hệ thống.

Chọn các đầu vào tác động đến hệ thống để tạo ra tất cả Chọn các đầu vào tác động đến hệ thống để tạo ra tất cả các thông báo lỗi.các thông báo lỗi.

Thiết kế đầu vào để gây ra lỗi tràn bộ đệmThiết kế đầu vào để gây ra lỗi tràn bộ đệm Lặp lại các đầu vào giống nhau hoặc hàng loạt đầu vào Lặp lại các đầu vào giống nhau hoặc hàng loạt đầu vào

trong 1 vài lần.trong 1 vài lần. Lượng kết quả tính toán là quá nhiều hay quá ít.Lượng kết quả tính toán là quá nhiều hay quá ít.

Page 15: Software testing Kiểm thử phần mềm

Kịch bản kiểm thửKịch bản kiểm thửA student in Scotland is studying American History and has been A student in Scotland is studying American History and has been

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

Page 16: Software testing Kiểm thử phần mềm

Các kiểm thử hệ thốngCá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 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 trađăng nhập chính xác và không chính xác để kiểm tra rằng rằng người dùng hợp lệ được chấp nhận và người sử dụng không ngườ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.hợp lệ bị từ chối.

Kiểm tra các tìm kiếmKiểm tra các tìm kiếm cơ sở cơ sở bằng cách sử dụng các truy vấn bằng cách sử dụng các truy vấn khác nhau đối với nguồn khác nhau đối với nguồn đã biết đê đã biết đê kiểm tra xem cơ chế tìm kiểm tra xem cơ chế tìm kiếm kiếm có có thực sự tìm kiếmthực sự tìm kiếm các các tài liệu. tài liệu.

Kiểm tra hệ thốngKiểm tra hệ thống trình bày trình bày cơ sở để kiểm tra xem thông tin cơ sở để kiểm tra xem thông tin vềvề các văn bảncác văn bản có có được hiển thị đúng cách. được hiển thị đúng cách.

Kiểm traKiểm tra các các cơ chế để yêu cầu sự cho phép để tải về. cơ chế để yêu cầu sự cho phép để tải về. Kiểm tra e-mail Kiểm tra e-mail phản hồiphản hồi cho biết rằng các tài liệu được tải cho biết rằng các tài liệu được tải

về làvề là tồn tại. tồn tại.

Page 17: Software testing Kiểm thử phần mềm

Use casesUse cases Use cases có thể là các cơ sở để phát sinh các 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 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 xác định các hoạt động để kiểm thử và giúp cho việc thiết kế test case.cho việc thiết kế test case.

Từ một Từ một lượclược đồ trình tự liên quan, các đồ trình tự liên quan, cácđầu vào và đầu ra phải được tạo ra cho các đầu vào và đầu ra phải được tạo ra cho các lần lần kiểm thừ kiểm thừ có thể được xác định.có thể được xác định.

Page 18: Software testing Kiểm thử phần mềm

Collect weather data sequence chartCollect weather data sequence chart

Page 19: Software testing Kiểm thử phần mềm

Kiểm thử hiệu suấtKiểm thử hiệu suất Một phần của Một phần của release testingrelease testing có thể bao gồm thử có thể bao gồm thử

nghiệmnghiệm sự nổi lên đặc tính của một hệ thống, sự nổi lên đặc tính của một hệ thống, chẳng hạnchẳng hạn như hiệu suất và độ tin cậy.như hiệu suất và độ tin cậy.

Hiệu suất kiểm tra thường liên quan đến kế hoạchHiệ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 địnhhà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 độngtăng cho đến khi hệ thống hoạt độngtrở nên không thể chấp nhận.trở nên không thể chấp nhận.

Page 20: Software testing Kiểm thử phần mềm

Kiểm thử thành phầnKiểm thử thành phần TThành phần thành phần testest là quá trình thử nghiệm thành phần riêng biệt trong hệ thống. Đây 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 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ác thành phần.CCó 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:ó 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ức năng cá nhân hoặc các chức năngchức năng trong trong một một đối tượngđối tượng.. các lớp đối tượng có các lớp đối tượng có nhiềunhiều thuộc tính và thuộc tính và chức năng.chức năng. các chức năng các chức năng của của thành phần hỗn hợp thành phần hỗn hợp được được tạo thành từ các đối tượng khác tạ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 để 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 truy cập các chức năng của nónó

chức năng cá nhân hoặc các phương phápchức năng cá nhân hoặc các phương pháp cá nhân cá nhân là loại đơn giản nhất của thành là loại đơn giản nhất của thành phầnphần, c, các ác testtest của bạn là một tập hợp các của bạn là một tập hợp các đường dẫnđường dẫn đến những thói quen với các đế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 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 tra , thảo luận trong phần tiếp theo, để thiết kế các testtest chức năng hoặc các chức năng hoặc các chức chức năng.năng.

Page 21: Software testing Kiểm thử phần mềm

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

Page 22: Software testing Kiểm thử phần mềm

Trạm thử nghiệm thời tiếtTrạ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 Cần phải xác định trường hợp thử nghiệm cho báo cáo thời

tiết,tiết, hiệu chỉnh, kiểm tra, khởi động và tắt máy. 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 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 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 hiệu ứng chuyển tiếp

Ví dụ: Chờ đợi -> đo đạc -> Kiểm tra -> Truyền -> Chờ đợi Ví dụ: Chờ đợi -> đo đạc -> Kiểm tra -> Truyền -> Chờ đợi

Page 23: Software testing Kiểm thử phần mềm

Kiểm thử giao diệnKiểm thử giao diện Mục tiêu là để phát hiện lỗi doMục tiêu là để phát hiện lỗi do Giao diện hoặc Giao diện hoặc

giả định không hợp lệ về giao diện. 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 Đặ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 phát triển các đối tượng được xác định bằng các giao diện của nó.các giao diện của nó.

Page 24: Software testing Kiểm thử phần mềm

Interface testingInterface testing

Page 25: Software testing Kiểm thử phần mềm

Các loại giao diệnCác loại giao diện

Các thông số giao diện Các thông số giao diện Dữ liệu truyền từ một thủ tục khác.Dữ liệu truyền từ một thủ tục khác.CChia sẻ bộ nhớ giao diệhia sẻ bộ nhớ giao diện. n. _ _ Block của bộ nhớ được chia sẻ giữa các thủ tục hoặcBlock của bộ nhớ được chia sẻ giữa các thủ tục hoặc chức chức

năng. năng. Giao diện thủ tụcGiao 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ệ 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 phụ khác. Thông báo qua giao diện Thông báo qua giao diện _ _ Hệ thống yêu cầu dịch vụ từ system.s Hệ thống yêu cầu dịch vụ từ system.s

Page 26: Software testing Kiểm thử phần mềm

Lỗi gLỗi giao diệniao diện

**Sử dụng sai giao diệnSử dụng sai giao diệnMột thành phần giao diện gọi thành phần khác và làm cho một lỗi 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 đótrong việc sử dụng thành phần đóví dụ:  sai thứ tự các thông số . ví dụ:  sai thứ tự các thông số . **Sự hiểu lầm giao diệnSự hiểu lầm giao diệnNhNhữững giả định về hành vi của các thành phần không chính xác. ng giả định về hành vi của các thành phần không chính xác. **Lỗi thờiLỗ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á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 . cập về thành phần khác .

Page 27: Software testing Kiểm thử phần mềm

Hướng dẫn kiểm tra giao diệnHướ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à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ó. 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ỏ Luôn luôn kiểm tra các tham số con trỏ với con trỏ

null. null. Thiết kế các bài kiểm tra thành phần gây thất bại. 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. 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ựTrong chia sẻ hệ thống bộ nhớ, thay đổi thứ tự

các thành phần được kích hoạt. các thành phần được kích hoạt.

Page 28: Software testing Kiểm thử phần mềm

Trường hợp kiểm tra thiết kế 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ả 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. đầ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ộtMụ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ử thiế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. nghiệm.

Thiết kế phương pháp tiếp cận:Thiết kế phương pháp tiếp cận: Dựa trên yêu cầu thử nghiệm; Dựa trên yêu cầu thử nghiệm; Phân vùng thử nghiệm; Phân vùng thử nghiệm; thử nghiệm Kết cấu.thử nghiệm Kết cấu.

Page 29: Software testing Kiểm thử phần mềm

Thử nghiệm dựa trên yêu cầuThử nghiệm dựa trên yêu cầu

Một nguyên tắc chung của yêu cầuMột nguyên tắc chung của yêu cầu kỹ thuật này là kỹ thuật này là yêu cầu cần được kiểm chứng. 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ậnYêu cầu dựa trên thử nghiệm là một xác nhận kiểm kiểm tra kỹ thuật, nơi bạn xem xét từngtra kỹ thuật, nơi bạn xem xét từng yêu cầu và rút ra yêu cầu và rút ra một tập hợp các yêu cầumột tập hợp các yêu cầu kiểm thử. kiểm thử.

Page 30: Software testing Kiểm thử phần mềm

yêu cầuyêu cầu LIBSYSLIBSYS Người dùng sẽ có thể tìm kiếm hoặc là tất cả các thiết 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 lập ban đầu của cơ sở dữ liệu hoặc chọn một tập con từ đó. từ đó.

Hệ thống sẽ cung cấp cho người xem thích hợp cho 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ữ. 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 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 (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.vào khu vực lưu trữ lâu dài của tài khoản.

Page 31: Software testing Kiểm thử phần mềm

Kiểm thử Kiểm thử LIBSYS LIBSYS Bắt đầu tìm kiếm: cho người sử dụng tìm kiếm cho các hạng 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 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ó Bắt đầu dùng tìm kiếm cho các hạng mục đó được biết là có

mmặt và được biết không có mặt, nơi tập hợp các cơ sở dữ liệuặt và được biết không có mặt, nơi tập hợp các cơ sở dữ liệu bao gồm 2 cơ sở dữ liệu bao 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ó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ệumặt và được biết không có mặt nơi đặt cơ sở dữ liệu, , bao gồm bao gồm hơn 2 cơ sở dữ liệu. 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 đầuChọ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àngườ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. đượ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ệuChọ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à 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. và được biết không có mặt.

Page 32: Software testing Kiểm thử phần mềm

Phân vùng thử nghiệm Phân vùng thử nghiệm

Dữ liệu đầu vào và kết quả đầu ra thường rơi vàoDữ 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 các lớp học khác nhau mà tất cả các thành viên của mộtmột lớp học có liên quan. lớp học có liên quan.

Mỗi của các lớp này là tương đươngMỗi của các lớp này là tương đương phân vùng, lĩnh phân vùng, lĩnh vực mà chương trìnhvực mà chương trình cư xử một cách tương đương cư xử một cách tương đương cho mỗi lớpcho mỗi lớp thành viên. thành viên.

trường hợp kiểm tra nên được lựa chọn từ mỗitrường hợp kiểm tra nên được lựa chọn từ mỗi phân phân vùng.vùng.

Page 33: Software testing Kiểm thử phần mềm

phân vùng tương đươngphân vùng tương đương

Page 34: Software testing Kiểm thử phần mềm

search routine - input partitionssearch routine - input partitions Nhập vào những gì phù hợp với điều kiện ban Nhập vào những gì phù hợp với điều kiện ban

đầuđầu Nhập vào nơi yếu tố khóa là 1 thành phần của Nhập vào nơi yếu tố khóa là 1 thành phần của

mảngmảng Nhập vào nơi yếu tố khóa không là 1 thành Nhập vào nơi yếu tố khóa không là 1 thành

phần của mảngphần của mảng

Page 35: Software testing Kiểm thử phần mềm

search routine - input partitionssearch routine - input partitions

Page 36: Software testing Kiểm thử phần mềm

Nguyên tắc kiểm thử( tuần tự)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 Kiểm thử phần mềm với trình tự mà chỉ có 1

giá trị đơngiá trị đơn Sử dụng các kích thước khác nhau của trình tự 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 nhautrong những kiểm thử khác nhau Xuất phát từ việc kiểm thử : phần đầu giữa Xuất phát từ việc kiểm thử : phần đầu giữa

cuối của trình tự cho phépcuối của trình tự cho phép Kiểm thử với chiều dài trình tự là 0Kiểm thử với chiều dài trình tự là 0

Page 37: Software testing Kiểm thử phần mềm

Kiểm thử cấu trúc Kiểm thử cấu trúc Thông thường gọi là kiểm thử white-boxThô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 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 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 chương trình được dùng để xác nhận trường hợp kiểm thử thêm vàohợp kiểm thử thêm vào

Đối tượng để thi hành tất cả dòng lệnh chương Đố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)trình( không phải tất cả đường kết hợp)

Page 38: Software testing Kiểm thử phần mềm

Kiểm thử cấu trúcKiểm thử cấu trúc

Page 39: Software testing Kiểm thử phần mềm

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

Thỏa mãn điều kiện ban đầu, yếu tố khóa trong mảngThỏ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 ở Thỏa mãn điều kiện ban đầu, yếu tố khóa không ở

trong mảngtrong mảng Không thỏa mãn điều kiện ban đầu, yếu tố khóa trong Không thỏa mãn điều kiện ban đầu, yếu tố khóa trong

mảngmảng Không thỏa mãn điều kiện ban đầu, yếu tố khóa Không thỏa mãn điều kiện ban đầu, yếu tố khóa

không ở trong mảngkhông ở trong mảng Mảng nhập vào giá trị đơnMảng nhập vào giá trị đơn Mảng nhập vào giá trị chẵnMảng nhập vào giá trị chẵn Mảng nhập vào giá trị lẻMảng nhập vào giá trị lẻ

Page 40: Software testing Kiểm thử phần mềm

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

Page 41: Software testing Kiểm thử phần mềm

Kiểm thử đường điKiểm thử đường đi Đối tượng của kiểm thử đường đi là để chắc Đối tượng của kiểm thử đường đi là để chắc

chắn rằng bộ trường hợp kiểm thử là mỗi đường chắn rằng bộ trường hợp kiểm thử là mỗi đường trong chương trình được thực thi tệ nhất 1 lầntrong chương trình được thực thi tệ nhất 1 lần

Điểm bắt đầu cho kiểm thử đường đi là chương Điểm bắt đầu cho kiểm thử đường đi là chương trình luồng đồ thị, biểu diễn node mô tả sự giải trình luồng đồ thị, biểu diễn node mô tả sự giải quyết của chương trình và vòng cung biểu thị quyết của chương trình và vòng cung biểu thị luồng điều khiểnluồng điều khiển

Những dòng lệnh với các điều kiện là node Những dòng lệnh với các điều kiện là node trong luồng đồ thịtrong luồng đồ thị

Page 42: Software testing Kiểm thử phần mềm

Kiểm thử tự động Kiểm thử tự động Kiểm thử là giai đoạn tốn kém.quy trình kiểm 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 thử cung cấp loạt các công cụ để giảm thời gian và chi phígian và chi phí

Hệ thống như là Junit hỗ trợ sự thực thi kiểm Hệ thống như là Junit hỗ trợ sự thực thi kiểm thử tự độngthử tự động

Hầu hết quy trình kiểm thử là hệ thống mở vì 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ứckiểm thừ cần là đặc tả tổ chức

Chúng thông thường khó để tích hợp vói quy 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ệntrình thiết kế và phần tích thân thiện

Page 43: Software testing Kiểm thử phần mềm

A testing workbenchA testing workbench

Page 44: Software testing Kiểm thử phần mềm

Testing workbench adaptationTesting workbench adaptation Các tập lệnh phải được phát triển để thích ứng 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ộ với giao diện người dùng, kiểu dáng cho bộ sinh dữ liệu thửsinh dữ liệu thử

Kiểm tra kết quả đầu ra phải được kiểm 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ôngchứ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 Đặc biệt có thể so sánh các tập tin để phát triểntriển

Page 45: Software testing Kiểm thử phần mềm

Key pointsKey points Kiểm thử giao diện là tìm ra những lỗi trong Kiểm thử giao diện là tìm ra những lỗi trong

việc thiết kế giao diện của những thành phần việc thiết kế giao diện của những thành phần hỗn hợp cấu thànhhỗn hợp cấu thành

Phân tích cấu trúc dựa vào việc phân tích 1 Phân tích cấu trúc dựa vào việc phân tích 1 chương trình và kiểm tra những phát sinh từ chương trình và kiểm tra những phát sinh từ việc phân tích đó.việc phân tích đó.

Hệ thống kiểm thử tự động làm giảm chi phí Hệ thống kiểm thử tự động làm giảm chi phí kiểm thử bằng cách hỗ trợ trong việc kiểm thử kiểm thử bằng cách hỗ trợ trong việc kiểm thử chương trình với 1 loạt các công cụ phần mềm.chương trình với 1 loạt các công cụ phần mềm.