SlideShare a Scribd company logo
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
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
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.
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 ?
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 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)ộ
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
White Box TestWhite Box Test
• 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
• 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
• 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))
• 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
White Box TestingWhite Box Testing
Basis Path TestingBasis Path Testing
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
White Box TestingWhite Box Testing
Basis Path TestingBasis Path Testing
• 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
• 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))
• 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))
• 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))
• 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 )
• 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 )
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 )
White Box TestingWhite Box Testing
( Data Flow Test )( Data Flow Test )
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
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
• 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
• 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
• BLACKBOX TESTINGBLACKBOX TESTING
White Box TestingWhite Box Testing
Flow Groaps RevisitedFlow Groaps Revisited
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..
Black Box TestingBlack Box Testing
• Đượ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
Ví dụ minh hoạVí dụ minh hoạ
• 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
• 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
• 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
Decision Table TestingDecision Table Testing
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
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
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ử.
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.
• 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
Other testsOther tests
• Sanity testingSanity testing
• Smoke testingSmoke testing
• Software testingSoftware testing
• Stress testingStress testing
• Test automationTest automation
• Web Application Security ScannerWeb Application Security Scanner
• FuzzingFuzzing
• Acceptance testingAcceptance testing
• Sanwich TestingSanwich Testing
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...
•
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 .
Question of Everyone ?Question of Everyone ?
Thanks YOU !Thanks YOU !

More Related Content

What's hot

Test plan
Test planTest plan
Nguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềmNguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềm
Ngọc Khánh
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Nguyễn Anh
 
Bai tap testing junit…..
Bai tap testing junit…..Bai tap testing junit…..
Bai tap testing junit…..Mua Xuong
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
Viet Hung Vu
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PM
Nguyễn Anh
 
Kiem thu
Kiem thuKiem thu
Kiem thu
Van Tiep Dinh
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case
Le Vu Trung Thanh
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
TIen Le
 
Unit Test with test JUNIT
Unit Test with test JUNIT Unit Test with test JUNIT
Unit Test with test JUNIT
Cusanlui
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
Trần Đức Anh
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
Dotnet Open Group
 
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.
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.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.
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.
Nguyễn Anh
 
2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang 2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang
Vu Hung Nguyen
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nguyễn Anh
 
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
nataliej4
 

What's hot (19)

Test plan
Test planTest plan
Test plan
 
Nguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềmNguyên tắc cơ bản của kiểm thử phần mềm
Nguyên tắc cơ bản của kiểm thử phần mềm
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Bai tap testing junit…..
Bai tap testing junit…..Bai tap testing junit…..
Bai tap testing junit…..
 
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan memHe thong cong cu kiem thu tu dong va dam bao chat luong phan mem
He thong cong cu kiem thu tu dong va dam bao chat luong phan mem
 
Slide đồ án kiểm thử PM
Slide đồ án kiểm thử PMSlide đồ án kiểm thử PM
Slide đồ án kiểm thử PM
 
Kiem thu
Kiem thuKiem thu
Kiem thu
 
[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case[Seminar] Hướng dẫn viết test case
[Seminar] Hướng dẫn viết test case
 
Kiem thu phan mem
Kiem thu phan memKiem thu phan mem
Kiem thu phan mem
 
Unit Test with test JUNIT
Unit Test with test JUNIT Unit Test with test JUNIT
Unit Test with test JUNIT
 
01 tester training - overview
01  tester training - overview01  tester training - overview
01 tester training - overview
 
Tailieu.vncty.com t ke-testcase
Tailieu.vncty.com   t ke-testcaseTailieu.vncty.com   t ke-testcase
Tailieu.vncty.com t ke-testcase
 
Ứng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử websiteỨng dụng công cụ test tự động kiểm thử website
Ứng dụng công cụ test tự động kiểm thử website
 
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.
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.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.
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.
 
2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang 2014/07/07 Software Testing - Truong Anh Hoang
2014/07/07 Software Testing - Truong Anh Hoang
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
chuong 5
chuong 5chuong 5
chuong 5
 
Effective software testing
Effective software testingEffective software testing
Effective software testing
 
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
Đồ Án Tìm Hiểu Phần Mềm Loadrunner Kiểm Tra Hiệu Năng Website
 

Similar to Cac kythuatktpm

Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...
Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...
Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...Working in Japan
 
Slide bai giang_kiem_thu
Slide bai giang_kiem_thuSlide bai giang_kiem_thu
Slide bai giang_kiem_thu
Minh Châu Nguyễn
 
Automation Testing & TDD
Automation Testing & TDDAutomation Testing & TDD
Automation Testing & TDD
Nhật Nguyễn Khắc
 
Kiem tra phan mem
Kiem tra phan memKiem tra phan mem
Kiem tra phan mem
thinhtq207vn
 
2.1 boundary-vn
2.1 boundary-vn2.1 boundary-vn
2.1 boundary-vn
Đoàn Minh
 
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình JavaĐề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.docKiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Whitebox testing - Mr.TesterVN
Whitebox testing - Mr.TesterVNWhitebox testing - Mr.TesterVN
Whitebox testing - Mr.TesterVN
Tester VN
 
VTV Mobile Performace Test
VTV Mobile Performace TestVTV Mobile Performace Test
VTV Mobile Performace Test
Công Nghệ - VTC Mobile
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩ
ssuser499fca
 
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptxkiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
LnNguynThnh4
 
Test Types & Test Levels.pdf
Test Types & Test Levels.pdfTest Types & Test Levels.pdf
Test Types & Test Levels.pdf
nhung875961
 
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆPMÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
Le Nguyen Truong Giang
 
CHUONG 2.pdf
CHUONG 2.pdfCHUONG 2.pdf
CHUONG 2.pdf
ChauNguyenThiMinh6
 
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình CĐề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuVan Pham
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuJenny Nguyen
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
Duyenxau
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.ppt
ssuserf603dc1
 

Similar to Cac kythuatktpm (20)

Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...
Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...
Septeniinternalseminar 20140706softwaretesting-truonganhhoangtalk-final-14070...
 
Slide bai giang_kiem_thu
Slide bai giang_kiem_thuSlide bai giang_kiem_thu
Slide bai giang_kiem_thu
 
Automation Testing & TDD
Automation Testing & TDDAutomation Testing & TDD
Automation Testing & TDD
 
Kiem tra phan mem
Kiem tra phan memKiem tra phan mem
Kiem tra phan mem
 
2.1 boundary-vn
2.1 boundary-vn2.1 boundary-vn
2.1 boundary-vn
 
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình JavaĐề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
Đề tài: Công cụ sinh dữ liệu thử tự động cho chương trình Java
 
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.docKiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
Kiểm Thử Đột Biến Trong Môi Trường SimulinkMatlab.doc
 
Whitebox testing - Mr.TesterVN
Whitebox testing - Mr.TesterVNWhitebox testing - Mr.TesterVN
Whitebox testing - Mr.TesterVN
 
VTV Mobile Performace Test
VTV Mobile Performace TestVTV Mobile Performace Test
VTV Mobile Performace Test
 
Luận văn thạc sĩ
Luận văn thạc sĩLuận văn thạc sĩ
Luận văn thạc sĩ
 
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptxkiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
kiemthuphanmemnhom14 (1)nhomsvk17thuchien.pptx
 
Test Types & Test Levels.pdf
Test Types & Test Levels.pdfTest Types & Test Levels.pdf
Test Types & Test Levels.pdf
 
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆPMÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
MÔ HÌNH HÓA & MÔ PHỎNG CÁC CÁC HỆ THỐNG CÔNG NGHIỆP
 
CHUONG 2.pdf
CHUONG 2.pdfCHUONG 2.pdf
CHUONG 2.pdf
 
chuong 6
chuong 6chuong 6
chuong 6
 
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình CĐề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
Đề tài: Xây dựng công cụ kiểm thử tự động cho chương trình C
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
 
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntuBai07 kiem tramuccao-k-trpm@softtesting-nntu
Bai07 kiem tramuccao-k-trpm@softtesting-nntu
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
 
LTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.pptLTJAVA_TV_Slides.ppt
LTJAVA_TV_Slides.ppt
 

Cac kythuatktpm

  • 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
  • 13. 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
  • 15. 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 )
  • 23. White Box TestingWhite Box Testing ( 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
  • 28. • BLACKBOX TESTINGBLACKBOX TESTING White Box TestingWhite Box Testing Flow Groaps RevisitedFlow Groaps Revisited
  • 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..
  • 30. Black Box TestingBlack Box Testing
  • 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
  • 32. Ví dụ minh hoạVí dụ minh hoạ
  • 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
  • 42. Other testsOther tests • Sanity testingSanity testing • Smoke testingSmoke testing • Software testingSoftware testing • Stress testingStress testing • Test automationTest automation • Web Application Security ScannerWeb Application Security Scanner • FuzzingFuzzing • Acceptance testingAcceptance testing • Sanwich TestingSanwich 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 .
  • 45. Question of Everyone ?Question of Everyone ?

Editor's Notes

  1. 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
  2. Black box testing
  3. Kiểm thử đúng đắn, sáng suốt