Đối với kiếm thử thông thường, theo kịch bản có sẵn, bạn sẽ thiết kế test case trước, sau đó tiền hành thực hiện kiếm thử.. > So sánh kiểm thử thăm dò và kiểm thử kịch bản: Scripted Test
Trang 1
BO CONG THUONG TRUONG DAI HOC CONG NGHIEP TP HO CHi MINH
KHOA CONG NGHE THONG TIN
Ea &
4©)
INDUSTRIAL
0F HOCHIMINH CITY
BAO CAO DE TAI
Đề tài: Giới thiệu vé Exploratory testing
(Kiểm thử thăm dò)
Tên môn học : Đám bảo chât lượng và
Kiém thử phần mềm
Giảng viên hướng dẫn — : Đặng Thị Thu Hà
Sinh viên thực hiện : Trần Văn Bảo
MSSV : 20050241
Lớp : DHKTPMI6DTT
TP.HCM, ngày 25 thủng 09 năm 2023
Trang 2MUC LUC
I.KHÁI NIỆM ch HH HH2 nh HH n1 HH ng ngàng ng gưên 1
89.6 1
II CÁCH THỨC THỰC HIỆN - 5 TH THỰ HH HH HH2 HH tt gu ng ray 4
0 ceccccccccecccccccsccsesesssessvsseesevessevssesensevesssesssevesevesrersussensesesresssitevesiisarerstsensavessessseteesessrvenes 6
IV LỢI ÍCH
1 Uudiém:
Trang 3
LKHAI NIEM
1 Khai niém
Exploratory Testing là sự khai phá,nghiên cứu và học hỏi Nó nhấn mạnh vào từng cá nhân và trách nhiệm của người Tester đó Test case sẽ không được tạo ra trước nhưng Tester sẽ kiếm tra hệ thống một cách nhanh chóng
Họ sẽ tạm phi chú những ý tưởng về việc cách test trước khi thực hiện test Trọng tâm của kiểm thứ thăm đò nhiều hơn công việc của Testing boi hoat dong "Thingking"
Theo nhu kich ban Testing , ban thiết kế test case va sau đó tiễn hành việc thực hiện test Ngược lại, ở Kiểm thử thăm dò sẽ điễn ra đồng thời việc design và thực hiện test
Kịch bản của việc thực hiện test thông thường là cái hoạt động "non- thinking" nơi mà các Tester thực hiện các bước test và so sánh s1ữa kết quả thực tế và kết quả mong muốn Công việc nảy có thể làm tự động mà không cần quá nhiều hoạt động nhận thức
Đối với kiếm thử thông thường, theo kịch bản có sẵn, bạn sẽ thiết kế test case trước, sau đó tiền hành thực hiện kiếm thử Ngược lại, kiểm thử thăm
đò là việc thực hiện đồng thời thiết kế và thực hiện kiểm thử
Kiểm thử thăm đò bao gồm tất cả các việc như: phát hiện lỗi, điều tra lỗi, sự hiểu biết về ứng dụng Điều này chú trọng vào sự tự do cá nhân và trách nhiệm của từng nhân viên Test cases có thé không được tạo hoàn chỉnh nhưng người thực hiện vẫn có thể kiểm tra hệ thống một cách nhanh chóng
Họ có thể ghi lại ngắn gọn những gì mình cần làm trước khi thực hiện kiêm thử Kiểm thử thăm đò tập trung nhiều hơn vào việc thực hiện kiểm thử hơn
là tạo test cases
Trang 42 Các giai đoạn:
Exploratory Testing
@ es 4 , Analysis 2
» Hoc (Learning): Giai doan nay lién quan đến việc nắm bắt thông tin về ứng dụng hoặc hệ thống đang được kiêm thử Kiểm tra viên sẽ làm quen với các chức năng của ứng dụng, giao diện người dùng và yêu cầu kinh doanh Họ có thé thu thập thông tin từ tài liệu, trao đổi với các bên liên quan hoặc dựa vào
kinh nghiệm trước đó
> Thiết kế kiểm thử (Test Design): Trong giai đoạn này, các kiểm tra viên sẽ tạo ra một mô hình tỉnh thần hoặc một kế hoạch kiểm thử sơ bộ dựa trên những
gi họ đã học Họ sẽ xác định các nhiệm vụ kiểm thử cụ thể hoặc các "nhiệm vụ
kiểm thử" (test charters) cao cấp, là các mục tiêu kiểm thử tong quan hoặc các
khu vực để khám phá Những nhiệm vụ kiểm thử này sẽ hướng dẫn quá trình
kiểm thử và đảm bảo răng các khía cạnh của ứng dụng được kiểm tra kỹ lưỡng
> Thực hiện (Execution): Đây là giai đoạn mà các kiểm tra viên thực hiện kiếm thử thực tế Họ khám phá ứng dụng, thực hiện các nhiệm vụ kiêm thử và tìm kiếm các vấn đề tiềm ân Họ tương tác với ứng dụng như người dùng thực tế, thử nghiệm các kịch bản khác nhau, nhập dữ liệu khác nhau và quan sát cách
hệ thống phản ứng Họ có thể cả improvisation và điều chỉnh nhiệm vụ kiêm thử khi có thông tin mới hoặc phát hiện lỗi
> Phân tích (Analysis): Sau khi thực hiện nhiệm vụ kiểm thử, các kiểm tra viên
phân tích kết quả Họ ghi chép lại các lỗi, hành vi không mong muốn và bất kỳ vùng quan tâm nào Họ có thê ưu tiên các vấn đề dựa trên mức độ nghiêm trọng
và ảnh hưởng Giai đoạn phân tích quan trọng để cung cấp thông tin phản hồi
cho các nhà phát triển và các bên liên quan, giúp họ hiểu về chất lượng của hệ
thông vả những cải tiễn hoặc sửa lỗi cần thiết
` Test sane
2
Trang 53 So sanh
> So sánh kiểm thử thăm dò và kiểm thử kịch bản:
Scripted Testing(kiém thir kich ban)
Thực hiện trực tiếp từ yêu cầu
Đầu tiên sẽ phải xác định test case
Xác nhận test cùng với yêu cầu
Nhắn mạnh vào điều kiện và quyết định
Tham ø1a vào việc xác nhận test
Là việc test theo sự điều khiến
Giống như việc đọc bài phát biểu và bạn đọc
nó từ bản nháp
Kịch bản điều khiến
ee Structured
runctionaity2 Testing
Functionality 3
@Functionality 4
Functionalities are checked
in a structured manner
Exploratory Testing(kiem thử thăm đò) Thực hiện trực tiếp từ yêu cầu và thăm đò trong quá trình test
Xác định test case trong qua trinh test Nghiên cứu hệ thông và ứng dụng
Nhân mạnh vào sự thích nghi và học hói
Tham gia vao việc nehiền cứu
Là việc cải thiện test desien
Giống như làm một đoạn hội thoại - moi thir 1a
tự phát Suy nghĩ của tester tự điều khiển
@Functionality 1 ° Exploratory
Testing
Functionality 4
@Functionality 2
@Functionality 3
Functionalities are checked
in a ad-hoc manner
Trang 6H CÁCH THỨC THỰC HIỆN
1 Khi nao thi thực hiện Exploratory testing?
Nhóm kiểm thử có những tester nhiều kinh nghiệm
Khi bạn muốn hoàn thành công việc test của bạn trong một khoảng thời gian ngắn
Khi bạn phải test ứng dụng sớm trong một chu kỳ phát triển của phần mềm Đây là một ứng dụng quan trọng
Hoặc có những tester mới tham gia vào nhóm
Các bước của test thử nghiệm thăm do:
Thử nghiệm thăm dò sẽ đi qua 5 bước được miêu tả chị tiết dưới đây và nó cũng được goi la phién dựa trên quản ly test (SBTM Cycle)
BI Tạo ra sự phân loại bug:
Phân loại ra các loại bus common có ở dự án cũ
Phân tích nguồn sốc van dé cua bug
Tìm được các rủi ro và có ý tưởng phát triên việc test ứng dụng
B2 Rule của test:
Ban test cai gi?
Bạn sẽ test nó như thế nào?
Những cái nào cần phải kiểm tra?
Ý tưởng test là điểm bắt đầu của kiêm thử thăm dò
Rule test sẽ øiúp xác định người dùng cuối có thê sử dụng hệ thống như thế nảo
B3 Time box:
Phương pháp này bao gồm cặp test làm việc cùng nhau trong khoảng time
không dưới 90 phút
Không nên có bắt kỳ gián đoạn nào trong thời øian phiên làm việc 90 phút Time box có thể được tăng hoặc giảm xuống khoảng 45 phút
Phiên làm việc này khuyến khích tester có thê tái hiện lại những phản hồi từ
hệ thống và chuân bị cho cái đầu ra chính xác
B4 Review Result:
Đánh giá lại lỗi
Trang 7- Baihoc rut ra tr viéc test
- Phan tich khu vuc bao phu
B5 Phân tích:
- _ Biên địch lại kết quả đầu ra
- _ So sánh kết qua va rule
- _ Kiêm tra xem liệu răng có cân thêm có cân thiết phải thêm việc testinp nào không
- _ Trong suốt quá trình thực hiện test thử nghiệm thăm dò, những điều dưới đây cần phải hoàn thành :
oO
oO
Nhiệm vụ của việc test phải được làm rõ
Take note cái bạn cần phải test, tại sao phải test và đánh giá chất lượng
của sản phâm
Theo đối câu hỏi và 1ssue được raise lên trong quả trình thực hiện test Tốt hơn có sự gắn kết thành cặp của tester cho việc hiệu quả test
Nhiều hơn những gì chúng ta test, nhiêu hơn việc chỉ thực hiện đúng
theo các bước của kịch bản test
Việc nắm bắt yêu cầu thực sự quan trọng và nó sẽ follow theo những yêu cầu dưới đây :
= Test bao phủ: Liệu rằng chúng ta có note lại vùng bao phú của test case và cải thiện chât lượng của sản phẩm
= Rúiro: Những cái rủi ro nào sẽ duoc covered va cai nao quan trọng
nhất
= Log cua thyc hiện test: Ghi lại việc thực hiện test
“ Vấn đề/ Câu hỏi: Take note lại những ¡ssue và câu hỏi của hệ thống
Trang 8HI VÍ DỤ
> Ví dụ: Kiểm thử một ứng dụng di động mua sắm
- Giả sử bạn là một kiểm tra viên và bạn được giao nhiệm vụ kiểm thử một ứng dụng di động mua săm, và bạn không có tải liệu kịch bản kiểm thử cụ thê Thay vì theo một kịch bản kiểm thử, bạn sẽ thực hiện kiểm thứ thăm
đò
- _ Khám phá trang chính: Bạn bắt đầu bằng việc khám phá trang chính của ứng dụng Bạn kiêm tra tính năng tìm kiếm sản phẩm, xem danh mục sản phâm, và tìm hiểu cách chuyền gió hàng
- _ Thêm sản phâm vào gió hàng: Bạn thêm một số sản phâm vảo giỏ hàng và kiểm tra tính năng giỏ hàng Bạn xem xét cách sản phẩm được hiển thị, kiểm tra tính năng xóa sản phẩm khỏi giỏ hàng, và cô gắng thay đối số
lượng sản phâm
- _ Thanh toán: Ban bat đầu quy trình thanh toán Bạn kiểm tra tính năng thêm thông tin thanh toan, nhap dia chi giao hang, và chọn phương thức thanh
toán Bạn kiểm tra cả các trường hợp đặt hàng với thông tin hợp lệ và không hợp lệ
- _ Kiểm tra giao diện người dùng: Bạn xem xét các mản hình và trang web
trên các thiết bị khác nhau, chẳng hạn như điện thoại đi động và máy tinh bảng, đê đảm bảo rằng giao diện người dùng được hiến thị đúng cách trên tất cả các loại thiết bị
- Tìm kiếm tính năng bắt thường: Bạn thử các tính năng không thường xuyên, chẳng hạn như tìm kiếm sản phẩm theo giá cao nhất hoặc thử kiêm tra việc đăng ký tài khoản trong quá trình mua sắm
- _ Ghi chép kết quả: Trong quá trình kiểm thử, bạn ghi chép lại các lỗi, vấn dé,
và các khía cạnh quan trọng của ứng dụng mà bạn đã phát hiện
- Exploratory Testing trong vi dy nay doi hoi ban tập trung vào việc khám phá và kiểm tra ứng dụng theo cách tự do và sáng tạo Bạn không bị ràng buộc bởi các tài liệu kịch bản cụ thể, và bạn có cơ hội tìm ra lỗi và sự cố một cách linh hoạt trong quá trình kiểm thử
Trang 9IV LOL ICH
1 Ưu điểm:
Hữu ích đối với những dự án không có sẵn tài liệu hoặc chỉ có sẵn một phần
hoặc có rất ít thông tin
Tìm ra những bug không bao phủ - cái mà sẽ không tìm thấy bằng kỹ thuật
thông thường Cover được toàn bộ các loại test và nó cũng cover được kịch bản và cases khác nhau
Tạo ra những ý tưởng mới trong suốt quá trình test Khi bạn muốn hoàn thành công việc test của bạn trong một khoảng thời
gian ngắn ngủi
Khi bạn phải test ứng dụng sớm trong một chu kỳ phát triển của phần mềm Khuyến khích sự sáng tạo, trực giác và khả năng phán đoán, có thê tạo ra các ý tưởng mới trong quá trình thực hiện kiểm thử
Liên quan đến quá trình tìm hiểu, giúp tìm ra được nhiều lỗi hơn so với các
bước kiểm thử thông thường
Tìm ra được các lỗi nhỏ mà có thê bị bỏ qua bởi các kỹ thuật kiểm thử khác
Mở rộng khả năng tưởng tượng các tình huống bằng cách thực hiện nhiều hơn các trường hợp kiểm thử
Đi sâu vào các phần chức năng nhỏ nhất của ứng dụng và bao phủ được các yêu cầu chức năng
Loại kiểm thứ này bao phủ được nhiều loại kiểm thử và nhiều loại các kịch bản và trường hợp kiếm thử khác nhau
Tester co thê báo cáo nhiều vẫn đề do yêu cầu không đầy đủ hoặc tài liệu yêu câu còn thiêu
V KHO KHAN
1 Nhược điểm:
Khó quan ly va dự đoán: Vi Exploratory Testing khéng dya vao kich bản
kiểm thử cụ thế, quản lý quá trình kiểm thử có thế trở nên khó khăn Khó có
thê đánh giá tiến độ kiếm thử, và không có cách tiêu chuẩn để xác định khi nào kiểm thử đã đủ hoặc khi nào nên kết thúc
Trang 10Khó tái tai str dung: Exploratory Testing tập trung vào tìm kiếm lỗi va van
đề mới, nhưng nó không thường xuyên tạo ra các kịch bản kiểm thử có thé tái sử dụng Điều này có thê dẫn đến sự lãng phí về thời gian và nguồn lực khi cần kiểm tra các tính năng hoặc vấn đề tương tự trong tương lai
Hiệu suất và độ tin cậy có thé thap: Exploratory Testing c6 thé bo lỡ các vấn đề có thể dự đoán và lặp lại một cách hiệu quả Nó không phải lúc nào cũng phủ hợp cho việc kiểm tra hiệu suất, kiêm tra độ tin cậy, hoặc kiêm tra tính ôn định của ứng dụng
Yêu cầu kiểm tra viên có kỹ năng: Exploratory Testing đòi hỏi kiếm tra viên có kiến thức chuyên môn, kỹ năng tư duy phản biện và kinh nghiệm
Việc thiếu kiếm tra viên có kỹ năng có thê dẫn đến kiểm thử không hiệu quả hoặc bỏ lỡ các lỗi quan trọng
Khó xác định tiêu chí hoàn thành: Vì Exploratory Testinp không tuân theo kịch bản kiểm thử cụ thế, nên việc xác định khi nào kiểm thử đã hoàn thành
có thê trở nên khó khăn Điều nay lam cho việc báo cáo về tiến độ kiếm thử
và kết quả trở nên phức tạp
Chưa phù hợp cho kiểm tra lặp lại:Exploratory Testing thích hợp cho việc
tìm lỗi mới, nhưng nó không phải lúc nào cũng phủ hợp cho việc kiểm tra
lặp lại dé dam bảo rang các lỗi đã được sửa chữa
Thử thách:
Có rất nhiều thách thức của kiểm thử thăm dò sẽ được trình bày chi tiết dưới đây:
o_ Phải học sử dụng app và phần mềm
Phải nhân rộng lỗi
Xác định được tools cần sử dụng
Xác định duoc test case tốt nhất đề sử dụng
Báo cáo lại kết quả trong khi không có kịch bản/ case nào dé so sánh
cùng với kết quả hiện tại va output
o_ Không biết khi nào sẽ dừng test bởi vì nó không defñne được test case cần thực hiện
o Tester cần phải nhớ kịch bản test - những gì mà mình đang thực hiện
xé test bởi vì nếu có lỗi được tim thay, tester sé “report a bug” với các bước
thích hợp đê tái hiện lại nó, với các lỗi khó tái hiện cần phải mô tả các
bước một cách thích hợp đề thực hiện một cách chính xác lỗi mà mình
đã báo cáo đặc biệt là với các lỗi mới được tìm thấy
o_ Loại kiếm thử này phụ thuộc rất nhiều vào kỹ năng của người thực hiện
kiểm thử
o_ Không phù hợp với dự án có nhiều thời gian cho việc thực thi kiểm thử