Kiểm chứng phần mềm
Quy trình làm phần mềm
Quy trình xây dựng Test Plan
------------------------------------------------------------------------
Programer C++
Training C/C++, Java
Game Mobile (Android - iOS - Winphone)
Info: https://www.facebook.com/hoclaptrinh.it
------------------------------------------------------------------------
Unit Test with test JUNIT , JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
Kiểm thử là một trong những công đoạn không thể thiếu trong phát triển phần mềm. Mặc dù kiểm thử thủ công vẫn còn được áp dụng rộng rãi, tuy nhiên nó lại có thể tốn nhiều thời gian và công sức, đặc biệt đối với các dự án Agile hiện tại với các tính năng được bổ sung sau mỗi vòng phát triển. Do đó, trang bị cho mình kiến thức về kiểm thử tự động là một điều không thể thiếu đặc biệt là đối với các tester muốn nâng cao khả năng, hoặc developer đang có ý tưởng áp dụng cho dự án của mình.
Một số lợi ích có thể kể đến của kiểm thử tự động là:
- Giúp tiết kiệm tiền bạc và thời gian: nhất là trong giai đoạn bảo trì của các dự án lớn. Mỗi tuần chúng ta phải thực hiện regression test từ 1 đến 2 lần với số lượng test case rất lớn trong 1 đến 2 ngày. ĐIều này gần như không thể thực hiện bằng cách thủ công, trong khi với kiểm thử tự động chúng ta hoàn toàn có thể với nguồn nhân lực vô cùng khiêm tốn.
- Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động có thể thực thi các test case với độ chính xác cao hơn.
- Độ bao phủ cao: Như đã nói ở trên, khi sử dụng kiểm thử tự động, chúng ta có thể thực thi số lượng lớn test case trong một thời gian ngắn. Nên độ bao phủ của nó rất cao. Điều này giúp chúng ta tăng độ bao phủ trong giai đoạn regression test .
- Hoàn thành các công việc mà con người không thể làm được: Nếu chúng ta muốn thực thi load test, performance test, thì kiểm thử tự động là cách duy nhất.
Trong meetup tháng 12 này, diễn giả Phạm Tiến Hùng - VNPTDATA sẽ chia sẻ với các bạn về kiểm thử tự động cùng với 2 công cụ kiểm thử tự động là Selenium và Katalon Studio, phù hợp áp dụng cho những team với tester chưa có nhiều kỹ năng về lập trình hoặc đã có kỹ năng.
Thông tin diễn giả: Phạm Tiến Hùng - Teamlead, VNPT DATA.
Nội dung:
1. Giới thiệu về kiểm thử tự động
2. Bắt đầu với kiểm thử tự động
3. Giới thiệu công cụ kiểm thử tự động
2014/07/07 Software Testing - Truong Anh Hoang Vu Hung Nguyen
Topics:
1. Sharing experience on software testings
2. Automation testing for web application
3. Testing techniques: Tips and tricks (for webapp)
4. How to plan testing, how to write effective test cases so that we can find more bugs
5. What is BDD and how to apply it software testing
6. The importance of developer testing (testing by developers)
Contents
Kỹ thuật kiểm thử - tips & tricks
- Hộp đen - tester
- Hộp trắng - developer testing
- Kiểm thử đơn vị - automation, developer testing
Kiểm thử web - webapp
- Demo
- Kinh nghiệm tự động với selenium - tips, automation,
Phát triển theo hành vi - BDD
- Giới thiệu BDD (behaviour driven development)
- Demo behat
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
Kiểm chứng phần mềm
Quy trình làm phần mềm
Quy trình xây dựng Test Plan
------------------------------------------------------------------------
Programer C++
Training C/C++, Java
Game Mobile (Android - iOS - Winphone)
Info: https://www.facebook.com/hoclaptrinh.it
------------------------------------------------------------------------
Unit Test with test JUNIT , JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
Kiểm thử là một trong những công đoạn không thể thiếu trong phát triển phần mềm. Mặc dù kiểm thử thủ công vẫn còn được áp dụng rộng rãi, tuy nhiên nó lại có thể tốn nhiều thời gian và công sức, đặc biệt đối với các dự án Agile hiện tại với các tính năng được bổ sung sau mỗi vòng phát triển. Do đó, trang bị cho mình kiến thức về kiểm thử tự động là một điều không thể thiếu đặc biệt là đối với các tester muốn nâng cao khả năng, hoặc developer đang có ý tưởng áp dụng cho dự án của mình.
Một số lợi ích có thể kể đến của kiểm thử tự động là:
- Giúp tiết kiệm tiền bạc và thời gian: nhất là trong giai đoạn bảo trì của các dự án lớn. Mỗi tuần chúng ta phải thực hiện regression test từ 1 đến 2 lần với số lượng test case rất lớn trong 1 đến 2 ngày. ĐIều này gần như không thể thực hiện bằng cách thủ công, trong khi với kiểm thử tự động chúng ta hoàn toàn có thể với nguồn nhân lực vô cùng khiêm tốn.
- Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động có thể thực thi các test case với độ chính xác cao hơn.
- Độ bao phủ cao: Như đã nói ở trên, khi sử dụng kiểm thử tự động, chúng ta có thể thực thi số lượng lớn test case trong một thời gian ngắn. Nên độ bao phủ của nó rất cao. Điều này giúp chúng ta tăng độ bao phủ trong giai đoạn regression test .
- Hoàn thành các công việc mà con người không thể làm được: Nếu chúng ta muốn thực thi load test, performance test, thì kiểm thử tự động là cách duy nhất.
Trong meetup tháng 12 này, diễn giả Phạm Tiến Hùng - VNPTDATA sẽ chia sẻ với các bạn về kiểm thử tự động cùng với 2 công cụ kiểm thử tự động là Selenium và Katalon Studio, phù hợp áp dụng cho những team với tester chưa có nhiều kỹ năng về lập trình hoặc đã có kỹ năng.
Thông tin diễn giả: Phạm Tiến Hùng - Teamlead, VNPT DATA.
Nội dung:
1. Giới thiệu về kiểm thử tự động
2. Bắt đầu với kiểm thử tự động
3. Giới thiệu công cụ kiểm thử tự động
2014/07/07 Software Testing - Truong Anh Hoang Vu Hung Nguyen
Topics:
1. Sharing experience on software testings
2. Automation testing for web application
3. Testing techniques: Tips and tricks (for webapp)
4. How to plan testing, how to write effective test cases so that we can find more bugs
5. What is BDD and how to apply it software testing
6. The importance of developer testing (testing by developers)
Contents
Kỹ thuật kiểm thử - tips & tricks
- Hộp đen - tester
- Hộp trắng - developer testing
- Kiểm thử đơn vị - automation, developer testing
Kiểm thử web - webapp
- Demo
- Kinh nghiệm tự động với selenium - tips, automation,
Phát triển theo hành vi - BDD
- Giới thiệu BDD (behaviour driven development)
- Demo behat
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn tóm tắt ngành khoa học máy tính với đề tài: Xây dựng công cụ sinh dữ liệu thử tự động cho chương trình Java, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng công cụ kiểm thử tự động cho các chương trình C, cho các bạn làm luận văn tham khảo
1. Công nghệ phần mềmCông nghệ phần mềm
Đề tài :Đề tài : Tìm hiểu các kĩ thuật kiểm thửTìm hiểu các kĩ thuật kiểm thử
Nhóm th c hi nự ệNhóm th c hi nự ệ
Ph m Hoàng HàạPh m Hoàng Hàạ
Mai c KhiêmĐứMai c KhiêmĐứ
Nguy n ThanhễNguy n Thanhễ
LoanLoan
2. Khái quát nội dung trình bàyKhái quát nội dung trình bày
• Kiểm thử phần mềm ( KTPM ) là gì ?Kiểm thử phần mềm ( KTPM ) là gì ?
• Tại sao phải kiểm thử PM ?Tại sao phải kiểm thử PM ?
• Lịch sử của Kiểm thử phần mềmLịch sử của Kiểm thử phần mềm
• Khái quát về các kĩ thuật kiểm thửKhái quát về các kĩ thuật kiểm thử
• Các kĩ thuật kiểm thửCác kĩ thuật kiểm thử
• Kết luận và hỏi đápKết luận và hỏi đáp
3. Tại sao phải KTPM ?Tại sao phải KTPM ?
• Đảm bảo chất lượng phần mềm sau khiĐảm bảo chất lượng phần mềm sau khi
đưa ra sử dụngđưa ra sử dụng
• Hoàn thiện & nâng cấp khả năng phầnHoàn thiện & nâng cấp khả năng phần
mềmmềm
• Tránh rủi ro cho khách hàng và giảm bảoTránh rủi ro cho khách hàng và giảm bảo
trì, bảo hành cho người viết phần mềm.trì, bảo hành cho người viết phần mềm.
4. Kiểm thử phần mềmKiểm thử phần mềm
Kiểm thử phần mềm là công việc sau cùng trướcKiểm thử phần mềm là công việc sau cùng trước
khi đưa phần mềm ra thị trường (release) , kiểmkhi đưa phần mềm ra thị trường (release) , kiểm
thử được thực hiện thông qua các bài Test.thử được thực hiện thông qua các bài Test.
- Thực tế là áp dụng các phương pháp, chiến lược- Thực tế là áp dụng các phương pháp, chiến lược
cho các các tập giá trị cho đầu vào để xem kếtcho các các tập giá trị cho đầu vào để xem kết
quả đầu ra có như ý muốn hay không ?quả đầu ra có như ý muốn hay không ?
5. Lịch sử của kiểm thử phần mềmLịch sử của kiểm thử phần mềm
6. Khái quát các kĩ thuật KTPMKhái quát các kĩ thuật KTPM
• White Box TestingWhite Box Testing (Hộp trắng)(Hộp trắng)
• Black Box TestingBlack Box Testing ( Hộp đen )( Hộp đen )
• Grey box testing (H p xám)ộGrey box testing (H p xám)ộ
7. White Box TestingWhite Box Testing
Khái niệmKhái niệm
• Còn được gọi làCòn được gọi là clear box testing, glass boxclear box testing, glass box
testing, transparent box testing, or structuraltesting, transparent box testing, or structural
testing,testing, thường thiết kế cácthường thiết kế các tr ng h p ki m thườ ợ ể ửtr ng h p ki m thườ ợ ể ử
dựa vàodựa vào c u trúc bên trongấc u trúc bên trongấ của phần mềm.của phần mềm.
• WBT đòi hỏi kĩ thuật lập trình am hiểu cấu trúcWBT đòi hỏi kĩ thuật lập trình am hiểu cấu trúc
bên trong của phần mềm ( các đường, luồng dữbên trong của phần mềm ( các đường, luồng dữ
liệu, chức năng, kết quả ).liệu, chức năng, kết quả ).
• Phương thức :Phương thức : Chọn các đầu vào và xem các đầu raChọn các đầu vào và xem các đầu ra
9. • Phụ thuộc vào các cài đặt hiện tại của hệPhụ thuộc vào các cài đặt hiện tại của hệ
thống và của phần mềm, nếu có sự thaythống và của phần mềm, nếu có sự thay
đổi thìđổi thì các bài test cũng cần thay đổi theo.các bài test cũng cần thay đổi theo.
• Được ứng dụng trong các kiểm tra ở cấpĐược ứng dụng trong các kiểm tra ở cấp
độđộ mô đun(điển hình)mô đun(điển hình),, tích hợp (có khảtích hợp (có khả
năng)năng) và hệ thốngvà hệ thống của quá trình test phầncủa quá trình test phần
mềmmềm..
White Box TestingWhite Box Testing
Đặc điểmĐặc điểm
10. • Kiểm thử luồng, lộ trìnhKiểm thử luồng, lộ trình (( Deriving Test CasesDeriving Test Cases))
• ++ Lộ trình cơ sởLộ trình cơ sở ((Basis path TestingBasis path Testing))
• Luồng điều khiển / Phạm viLuồng điều khiển / Phạm vi
• ((Control-flow / CoveraControl-flow / Coveragge Testinge Testing))
• ++ Phương thức -Phương thức - Method CoverageMethod Coverage
• ++ Câu lệnhCâu lệnh –– StatementStatement CovergeCoverge
• ++ Nhánh -Nhánh - BranchBranch CovergeCoverge
• ++ Điều kiệnĐiều kiện –– ConditionCondition ConverageConverage
• Kiểm thử luồng dữ liệuKiểm thử luồng dữ liệu ( Data Flow Test )( Data Flow Test )
• Trường hợp hỏng ‘rác’Trường hợp hỏng ‘rác’ –– Failure ‘Dirty’ Case TestFailure ‘Dirty’ Case Test
Flow Groaps RevisitedFlow Groaps Revisited
White Box TestingWhite Box Testing
Các kĩ thuậtCác kĩ thuật
11. • Basis Path Testing (Basis Path Testing ( Kiểm thử lộ trình cơ sởKiểm thử lộ trình cơ sở))
• Equivalence Partitioning / Boundary ValueEquivalence Partitioning / Boundary Value
( Phân vùng tương đương và Giá trị biên )( Phân vùng tương đương và Giá trị biên )
White Box TestingWhite Box Testing
Kiểm thử luồng, lộ trìnhKiểm thử luồng, lộ trình
(( Deriving Test CasesDeriving Test Cases))
12. • Kiểm tra lộ trình cơ sở :Kiểm tra lộ trình cơ sở :
• Là kĩ thuật kiểm thử mà phần mềmLà kĩ thuật kiểm thử mà phần mềm
được chia thành các lộ trìnhđược chia thành các lộ trình
• Đảm bảo các lộ trình độc lập qua một môĐảm bảo các lộ trình độc lập qua một mô
đun mã sẽ được kiểm thử đầy đủđun mã sẽ được kiểm thử đầy đủ
White Box TestingWhite Box Testing
Basis Path TestingBasis Path Testing
14. Một số khái niệmMột số khái niệm
• Đồ hình lộ trình :Đồ hình lộ trình : Bao gồm các hình, mũiBao gồm các hình, mũi
tên (cạnh), chỉ số, mô tả kháctên (cạnh), chỉ số, mô tả khác
• Độ phức tạp chu trình ( CyclomaticĐộ phức tạp chu trình ( Cyclomatic
Complexity ) :Complexity ) : Được tìm ra bởi chu trìnhĐược tìm ra bởi chu trình
McCabe, chỉ ra độ phức tạp lôgic của mộtMcCabe, chỉ ra độ phức tạp lôgic của một
chương trình.chương trình.
White Box TestingWhite Box Testing
Basis Path TestingBasis Path Testing
16. • Cách tạo kiểm thửCách tạo kiểm thử
• Sử dụng một đoạn code hoặc thiết kế làmSử dụng một đoạn code hoặc thiết kế làm
cơ sở để xây dựng lên đồ hình luồng.cơ sở để xây dựng lên đồ hình luồng.
• Đưa ra các chu trình lộ trình từ đồ hìnhĐưa ra các chu trình lộ trình từ đồ hình
vừa có được.vừa có được.
• Quyết định một lộ trình độc lập tuyến tínhQuyết định một lộ trình độc lập tuyến tính
• Kiểm tra tất các chu trình đã tạo.Kiểm tra tất các chu trình đã tạo.
White Box TestingWhite Box Testing
Basis Path TestingBasis Path Testing
17. • Là cách tạo ra các bộ giá trị kiểm thửLà cách tạo ra các bộ giá trị kiểm thử
để có thể xem được 100% các trườngđể có thể xem được 100% các trường
hợp có thể xảy ra với các thành phần củahợp có thể xảy ra với các thành phần của
một chương trình bao gồm :một chương trình bao gồm :
+ Các phương thức ( Method )+ Các phương thức ( Method )
+ Các câu lệnh (Statement )+ Các câu lệnh (Statement )
+ Các nhánh (branch)+ Các nhánh (branch)
+ Các điều kiện+ Các điều kiện
White Box TestingWhite Box Testing
Luồng điều khiển / GomLuồng điều khiển / Gom
((Control-flow / CoveraControl-flow / Coveragge Testinge Testing))
18. • Ví dụ :Ví dụ : Kiểm tra phương thức bằng các bộKiểm tra phương thức bằng các bộ
giá trị của hàm foo sau :giá trị của hàm foo sau :
• Bộ giá trị được chọn là foo(0,0,0,0,0)Bộ giá trị được chọn là foo(0,0,0,0,0)
White Box TestingWhite Box Testing
Luồng điều khiển / GomLuồng điều khiển / Gom
((Control-flow / CoveraControl-flow / Coveragge Testinge Testing))
19. • Với nhánh (branch )Với nhánh (branch )
IF ( a equals b AND c less than d ) THENIF ( a equals b AND c less than d ) THEN
statement 1 statement 1
ELSEELSE
statement 2 statement 2
END IFEND IF
• Chọn bộ giá trị a b c d sao cho có thểChọn bộ giá trị a b c d sao cho có thể
kiểm tra hết các nhánh rẽ .kiểm tra hết các nhánh rẽ .
• Ví dụ : (a,b,c,d) = (1, 1, 2, 6) & (1,2,3,3)Ví dụ : (a,b,c,d) = (1, 1, 2, 6) & (1,2,3,3)
White Box TestingWhite Box Testing
Luồng điều khiển / Phạm viLuồng điều khiển / Phạm vi
((Control-flow / CoveraControl-flow / Coveragge Testinge Testing))
20. • Kiểm tra sự khởi tạo, biến đổi và huỷ củaKiểm tra sự khởi tạo, biến đổi và huỷ của
các các luồng dữ liệu.các các luồng dữ liệu.
• Thường được phân tích qua đồ hình vàThường được phân tích qua đồ hình và
đặt ra các bộ giá trị thử và giá trị trả vềđặt ra các bộ giá trị thử và giá trị trả về
mong muốn dựa vào đồ hình đó.mong muốn dựa vào đồ hình đó.
White Box TestingWhite Box Testing
Kiểm thử luồng dữ liệuKiểm thử luồng dữ liệu
( Data Flow Test )( Data Flow Test )
21. • Một số trạng tháiMột số trạng thái
của biến dữ liệucủa biến dữ liệu
trong quá trình biếntrong quá trình biến
đốiđối
White Box TestingWhite Box Testing
Kiểm thử luồng dữ liệuKiểm thử luồng dữ liệu
( Data Flow Test )( Data Flow Test )
22. Ví dụVí dụ
• Hoá đơn thanhHoá đơn thanh
toán cho việctoán cho việc
sử dụng điệnsử dụng điện
Xét sự biếnXét sự biến
đổi luồngđổi luồng
dữ liệu của Billdữ liệu của Bill
White Box TestingWhite Box Testing
Kiểm thử luồng dữ liệuKiểm thử luồng dữ liệu
( Data Flow Test )( Data Flow Test )
24. White Box TestingWhite Box Testing
( Data Flow Test )( Data Flow Test )
• Quá trình biến đổi của billQuá trình biến đổi của bill
25. White Box TestingWhite Box Testing
( Data Flow Test )( Data Flow Test )
• Thiết kế bộ giá trị kiểm thử cho BillThiết kế bộ giá trị kiểm thử cho Bill
26. • Là trường hợp kiểm thử các trường hợpLà trường hợp kiểm thử các trường hợp
mà người lập trình cần đứng ở vị trí ngườimà người lập trình cần đứng ở vị trí người
dùng để nhập giá trịdùng để nhập giá trị
• Cụ thể là người dùng có thể nhập sốCụ thể là người dùng có thể nhập số
thay cho chữ, hoặc không nhập gì, tạo rathay cho chữ, hoặc không nhập gì, tạo ra
lỗi phép toán (divided by Zero )...lỗi phép toán (divided by Zero )...
White Box TestingWhite Box Testing
Trường hợp hỏng ‘rác’Trường hợp hỏng ‘rác’
Failure ‘Dirty’ Case TestFailure ‘Dirty’ Case Test
27. • Cách kiểm thửCách kiểm thử
• Tạo ra tất cả các trường hợp test màTạo ra tất cả các trường hợp test mà
người dùng thường mắc lỗi ( dựa vào kinhngười dùng thường mắc lỗi ( dựa vào kinh
nghiệm thực tế )nghiệm thực tế )
• Kiểm tra các lỗi toán học, số học, phạmKiểm tra các lỗi toán học, số học, phạm
vi biến, kiểu biến ....vi biến, kiểu biến ....
White Box TestingWhite Box Testing
Trường hợp hỏng ‘rác’Trường hợp hỏng ‘rác’
Failure ‘Dirty’ Case TestFailure ‘Dirty’ Case Test
29. Black Box TestingBlack Box Testing
• Black-box testingBlack-box testing sử dụng mô tả bên ngoàisử dụng mô tả bên ngoài
của phần mềm để kiểm thửcủa phần mềm để kiểm thử,, bao gồm các đặc tảbao gồm các đặc tả
(specifications), yêu cầu (requirements) và thiết kế ((specifications), yêu cầu (requirements) và thiết kế (designdesign) .) .
• Không có sự hiểu biết cấu trúc bên trong củaKhông có sự hiểu biết cấu trúc bên trong của
phần mềmphần mềm
• Các dạng đầu vào có dạng hàm hoặc không ,Các dạng đầu vào có dạng hàm hoặc không ,
hợp lệ và không không hợp lệ và biết trước đầuhợp lệ và không không hợp lệ và biết trước đầu
rara..
31. • Được sử dụng để kiểm thử phần mềmĐược sử dụng để kiểm thử phần mềm tạitại
mứcmức :: mô đun, tích hợp, hàm, hệ thống và chấpmô đun, tích hợp, hàm, hệ thống và chấp
nhậnnhận..
• - Lợi điểm của kiểm thử hộp đen là khả năng- Lợi điểm của kiểm thử hộp đen là khả năng
đơn giản hoá kiểm thử tại các mức độ đượcđơn giản hoá kiểm thử tại các mức độ được
đánh giá là khó kiểm thửđánh giá là khó kiểm thử
• - Yếu điểm là khó đánh giá còn bộ giá trị nào- Yếu điểm là khó đánh giá còn bộ giá trị nào
chưa được kiểm thử hay khôngchưa được kiểm thử hay không
Black Box TestingBlack Box Testing
33. • Các kí thuật chính của kiểm thử hộp đen :Các kí thuật chính của kiểm thử hộp đen :
• ++ Decision TableDecision Table testingtesting
• + Pairwise testing+ Pairwise testing
• + State transition tables+ State transition tables
• ++ Tests of Customer RequirementTests of Customer Requirement
• ++ Equivalence partitioningEquivalence partitioning
• ++ Boundary value analysisBoundary value analysis
• ++ Failure Test CasesFailure Test Cases
Black Box TestingBlack Box Testing
34. • Giảm thiểu số trường hợp kiểm thửGiảm thiểu số trường hợp kiểm thử
• Phân vùng giá trị kiểm thửPhân vùng giá trị kiểm thử
White Box TestingWhite Box Testing
Khoảng giá trị tương đương – Phân tích giá trị biênKhoảng giá trị tương đương – Phân tích giá trị biên
35. • Decision Table TestingDecision Table Testing
• Là cách xây dựng một bộ các giá trị kiểmLà cách xây dựng một bộ các giá trị kiểm
thử đầy đủ không cần biết cấu trúc bênthử đầy đủ không cần biết cấu trúc bên
trong của phần mềm.trong của phần mềm.
• Bảng quyết định được xây dựng dựa vàoBảng quyết định được xây dựng dựa vào
• Trong đó :Trong đó :
• Condition : inputCondition : input
• Action : outputAction : output
Black Box TestingBlack Box Testing
37. Black box testingBlack box testing
Pairwise testingPairwise testing
• Pairwise testing là cách phối hợp các đầuPairwise testing là cách phối hợp các đầu
vào để tạo ra bộ giá trị kiểm thửvào để tạo ra bộ giá trị kiểm thử
• Ở ví dụ này Bộ có thể chọn của X=1 | 2Ở ví dụ này Bộ có thể chọn của X=1 | 2
• Y= Q | R , Z= 5 | 6Y= Q | R , Z= 5 | 6
38. Black box testingBlack box testing
Pairwise TestingPairwise Testing
• Hạn chế :Hạn chế : số lượng giá trị của mỗi đầusố lượng giá trị của mỗi đầu
vào tăng tạo ra sự tăng nhanh trong cácvào tăng tạo ra sự tăng nhanh trong các
trường hợp thửtrường hợp thử
• Có thể gặp phải lỗi trong việc kết hợp cácCó thể gặp phải lỗi trong việc kết hợp các
giá trị đôi khi không xảy ragiá trị đôi khi không xảy ra
• Ưu điểm :Ưu điểm : Xét được hết các trường hợpXét được hết các trường hợp
đầu vào kể cả trường hợp ngẫu nhiên củađầu vào kể cả trường hợp ngẫu nhiên của
người dùngngười dùng
39. Black box TestingBlack box Testing
• Testing based on Customer RequirementsTesting based on Customer Requirements
• Dựa vào các yêu cầu của khách hàng đểDựa vào các yêu cầu của khách hàng để
tạo ra các bộ giá trị kiểm thử.tạo ra các bộ giá trị kiểm thử.
40. Black box TestingBlack box Testing
• State transition tables :State transition tables : Là bảng môLà bảng mô
tả sự chuyển trạng thái tương ứng với giátả sự chuyển trạng thái tương ứng với giá
trị đầu vào tương ứng.trị đầu vào tương ứng.
41. • Là sự kết hợp của kiểm thử hộp đen vàLà sự kết hợp của kiểm thử hộp đen và
kiểm thử hộp trắng khi mà người kiểm thửkiểm thử hộp trắng khi mà người kiểm thử
biết được một phần cấu trúc bên trongbiết được một phần cấu trúc bên trong
của phần mềmcủa phần mềm
• Như vậy không phải là KT hộp đenNhư vậy không phải là KT hộp đen
• Là dạng kiểm thử tốt và có sự kết hợpLà dạng kiểm thử tốt và có sự kết hợp
các kĩ thuật của cả kiểm thử hộp đen vàcác kĩ thuật của cả kiểm thử hộp đen và
hộp trắnghộp trắng
Grey Box TestingGrey Box Testing
43. Sanity testingSanity testing
• Kiểm thử đúng đắn là kiểm thử lướt qua;Kiểm thử đúng đắn là kiểm thử lướt qua;
được thực hiện khi có đủ điều kiện nâng caođược thực hiện khi có đủ điều kiện nâng cao
ứng dụng nhờ việc hàm hoá đặc tả.ứng dụng nhờ việc hàm hoá đặc tả.
• Kiểm thử các thành phần thoái hoá của phầnKiểm thử các thành phần thoái hoá của phần
mềm.mềm.
• –– Bao gồm các kiểm thử vào vùng lõi của cácBao gồm các kiểm thử vào vùng lõi của các
hàm GUI cơ sở để xem kết nối dữ liệu, máy chủhàm GUI cơ sở để xem kết nối dữ liệu, máy chủ
ứng dụng, máy in , vv...ứng dụng, máy in , vv...
•
44. Smoke testingSmoke testing
• Smoke Testing xảy ra khi thành phần mớiSmoke Testing xảy ra khi thành phần mới
được thêm vào và được tích hợp vào phầnđược thêm vào và được tích hợp vào phần
code đã có của phần mềm. Nó đảm bảocode đã có của phần mềm. Nó đảm bảo
việc làm việc ăn khớp của khối code mớiviệc làm việc ăn khớp của khối code mới..
• Là bước đầu kiểm tra sau đó cần kiểmLà bước đầu kiểm tra sau đó cần kiểm
thử thêm các bằng các kĩ thuật khác .thử thêm các bằng các kĩ thuật khác .
While it normally tests paths within a unit, it can also test paths between units during integration, and between subsystems during a system level test