Thử nghiệm khám phá (Exploratory Testing)

Thử nghiệm khám phá giúp các nhà phân tích chất lượng và những người khác tham gia vào lĩnh vực thử nghiệm đảm bảo các hệ thống và ứng dụng hoạt động đúng với mong muốn của người dùng. Thử nghiệm thăm dò thường bị hiểu nhầm là một cách tiếp cận nhưng có một số lưu ý bạn giúp chúng ta tránh nhầm lẫn.

Thử nghiệm khám phá bao gồm các hoạt động về thăm dò, điều tra và học tập. Nó nhấn mạnh tự do cá nhân và trách nhiệm của người thử nghiệm cá nhân.

1. Thử nghiệm khám phá là gì?

Thử nghiệm khám phá là một loại thử nghiệm trong đó các trường hợp thử nghiệm không được tạo ra từ trước, nhưng người thử nghiệm có thể kiểm tra hệ thống một cách nhanh chóng. Họ có thể ghi lại những ý tưởng về những cái cần kiểm tra trước khi thực hiện kiểm tra. Trọng tâm của kiểm tra khám phá tập trung nhiều hơn vào kiểm tra như một hoạt động "tư duy".

Trong thử nghiệm theo kịch bản, cần thiết kế các trường hợp thử nghiệm trước và sau đó tiến hành thực hiện thử nghiệm. Ngược lại, thử nghiệm thăm dò là một quá trình đồng thời, thiết kế thử nghiệm và thực hiện thử nghiệm được thực hiện cùng một lúc.

Thực thi thử nghiệm theo kịch bản thường là một hoạt động không suy nghĩ trong đó người kiểm tra thực hiện các bước kiểm tra và so sánh kết quả thực tế với kết quả mong đợi. Hoạt động thực hiện kiểm tra như vậy có thể được tự động hóa không đòi hỏi nhiều kỹ năng nhận thức.

Sự khác nhau giữa thử nghiệm theo kịch bản và thử nghiệm khám phá

Thử nghiệm theo kịch bản Thử nghiệm thăm dò
Đưa ra từ yêu cầu Đưa ra từ yêu cầu và khám phá trong quá trình thử nghiệm
Xác định các trường hợp thử nghiệm trước khi quá trình thử nghiệm diễn ra Xác định các trường hợp thử nghiệm trong quá trình thử nghiệm
Mục đích để xác nhận thử nghiệm so với các yêu cầu Mục đích để điều tra, tìm hiểu hệ thống hoặc ứng dụng
Nhấn mạnh dự đoán và ra quyết định Nhấn mạnh khả năng thích ứng và học tập
Liên quan đến thử nghiệm đã được xác nhận Liên quan đến điều tra
Tập trung kiểm soát thử nghiệm Tập trung cải tiến thiết kế thử nghiệm
Kiểm soát bởi kịch bản Kiểm soát bởi tâm trí của người kiểm thử

Mặc dù xu hướng hiện nay trong kiểm thử phần mềm là thúc đẩy tự động hóa, tuy nhiên kiểm thự tự động cũng có giới hạn của nó. Kiểm thử khám phá, thăm dò là một cách suy nghĩ mới.

2. Khi nào nên sử dụng thử nghiệm thăm dò?

  • Trong giai đoạn đầu của vòng đời phát triển phần mềm, khi mà có sự thay đổi nhanh chóng của mã lập trình, việc sử dụng thử nghiệm thăm dò có thể có hiệu quả cao.
  • Các nhà phát triển có thể sử dụng kỹ thuật này để thực hiện các thử nghiệm đơn vị, trong khi những người thử nghiệm có thể làm quen với ứng dụng bằng cách sử dụng phương pháp thử nghiệm này.
  • Kinh nghiệm thu được từ thử nghiệm khám phá có thể có giá trị trong việc chuẩn bị các kịch bản thử nghiệm và thực hiện thử nghiệm bổ sung trong các giai đoạn sau của chu kỳ phát triển phần mềm.
  • Trong mô hình phát triển nhanh, có các chu kỳ scrum ngắn và có ít thời gian để phát triển thiết kế và kịch bản thử nghiệm chính thức. Thử nghiệm thăm dò rất phù hợp với mô hình này vì nó theo kịp các chu kỳ scrum có thời gian ngắn.
  • Trong khi thực hiện kiểm tra thăm dò, kế hoạch kiểm tra được phát triển nhanh giúp tiết kiệm nhiều thời gian cho người kiểm tra. Vào cuối mỗi chu kỳ scrum, các thử nghiệm thăm dò quan trọng có thể được ghi lại cho các scrum tiếp theo.

3. Cách thức thực hiện thử nghiệm khám phá

Chuẩn bị thử nghiệm thăm dò trải qua 5 giai đoạn chi tiết dưới đây và nó còn được gọi là quản lý kiểm tra dựa trên phiên:

a. Tạo một nguyên tắc phân loại lỗi (phân loại)

Việc phân loại này dựa vào các yếu tố sau:

  • Phân loại các loại lỗi phổ biến được tìm thấy trong các dự án trước đây
  • Phân tích nguyên nhân gốc phân tích các vấn đề hoặc lỗi
  • Tìm các rủi ro và phát triển ý tưởng để kiểm tra ứng dụng.

b. Test charter: Điều lệ thử nghiệm

  • Điều lệ thử nghiệm nên đề nghị gồm: Kiểm thử những gì; Làm thế nào để kiểm tra chúng;Những gì cần phải được xem xét
  • Ý tưởng thử nghiệm là điểm khởi đầu của thử nghiệm thăm dò
  • Điều lệ thử nghiệm giúp xác định cách người dùng cuối có thể sử dụng hệ thống

c. Timebox: Hộp thời gian

  • Phương pháp này bao gồm một cặp người thử nghiệm làm việc cùng nhau không dưới 90 phút
  • Không nên có bất kỳ thời gian bị gián đoạn trong phiên 90 phút đó
  • Timebox có thể được kéo dài hoặc giảm 45 phút
  • Phiên này khuyến khích người kiểm tra phản ứng và phản hồi từ hệ thống và chuẩn bị cho kết quả chính xác

d. Kết quả đánh giá

  • Đánh giá các khuyết tật
  • Rút ra bài học từ thử nghiệm
  • Phân tích vùng phủ sóng

e. Trao đổi

  • Tổng hợp kết quả đầu ra
  • So sánh kết quả với điều lệ
  • Kiểm tra xem có cần thử nghiệm bổ sung nào không

Điều quan trọng của cách thức thực hiện là lập tài liệu theo dõi những điều sau đây:

  • Phạm vi kiểm tra - Cho dù chúng tôi đã ghi chú về phạm vi bảo hiểm của các trường hợp kiểm tra và cải thiện chất lượng của phần mềm
  • Rủi ro - Những rủi ro nào cần được bảo hiểm và đó là những rủi ro quan trọng nào?
  • Nhật ký thực hiện kiểm tra - Bản ghi về thực hiện kiểm tra
  • Các vấn đề / Truy vấn - Ghi chú về câu hỏi và các vấn đề trên hệ thống

4. Phương pháp thực hiện thử nghiệm khám phá

a. Dự đoán

Đoán được sử dụng để tìm một phần của chương trình có khả năng có nhiều lỗi hơn. Kinh nghiệm trước đây khi làm việc trên một sản phẩm / phần mềm / công nghệ tương tự giúp dự đoán tốt hơn

b. Sơ đồ kiến trúc và trường hợp sử dụng

Sơ đồ kiến trúc mô tả các tương tác và mối quan hệ giữa các thành phần và mô-đun khác nhau. Các trường hợp sử dụng cung cấp cho sự hiểu biết về việc sử dụng sản phẩm từ quan điểm của người dùng cuối. Kỹ thuật thăm dò có thể sử dụng các sơ đồ này và các trường hợp sử dụng để kiểm tra sản phẩm.

c. Khiếm khuyết quá khứ

Nghiên cứu các khiếm khuyết được báo cáo trong các bản phát hành trước giúp hiểu được các tính năng của phần mềm được dự kiến sẽ có các khiếm khuyết tối đa.

d. Xử lý lỗi

Xử lý lỗi là một phần của mã hóa thực hiện các hành động thích hợp trong trường hợp có lỗi. Thử nghiệm thăm dò có thể được thực hiện bằng các kịch bản khác nhau để kiểm tra xử lý lỗi.

e. Thảo luận

Thử nghiệm thăm dò cũng có thể được lên kế hoạch dựa trên sự hiểu biết về phần mềm trong các cuộc thảo luận và họp dự án.

f. Câu hỏi và danh sách kiểm tra

Những câu hỏi như thế là gì, khi nào, như thế nào, ai và tại sao có thể cung cấp manh mối cho việc kiểm tra phần mềm khám phá.

5. Ưu điểm của thử nghiệm thăm dò

  • Thử nghiệm này hữu ích khi các tài liệu yêu cầu không có sẵn hoặc có sẵn một phần
  • Nó liên quan đến quá trình Điều tra giúp tìm ra nhiều lỗi hơn so với thử nghiệm thông thường-
  • Khám phá các lỗi thường bị bỏ qua bởi các kỹ thuật kiểm tra khác
  • Giúp mở rộng trí tưởng tượng của người thử nghiệm bằng cách thực hiện ngày càng nhiều trường hợp thử nghiệm mà cuối cùng cũng cải thiện năng suất
  • Thử nghiệm này đi sâu vào phần nhỏ nhất của ứng dụng và bao gồm tất cả các yêu cầu
  • Thử nghiệm này bao gồm tất cả các loại thử nghiệm và nó bao gồm các tình huống và trường hợp khác nhau
  • Khuyến khích sự sáng tạo và trực giác
  • Tạo ra những ý tưởng mới trong quá trình thực hiện thử nghiệm

6. Nhược điểm của thử nghiệm thăm dò

  • Vì các bài kiểm tra được xuất phát và thực hiện ngẫu nhiên, chúng không thể được xem xét trước và khó có thể chỉ ra bài kiểm tra nào phải được thực hiện.
  • Kết quả kiểm thử phụ thuộc vào kiến ​​thức, kỹ năng và kinh nghiệm của người kiểm tra.
  • Làm quen với một ứng dụng cần có thời gian, do đó, có khả năng các lỗi bị bỏ sót nếu người kiểm tra có ít kiến ​​thức về trang web hoặc ứng dụng
  • Không phù hợp với ứng dụng cần thời gian thực hiện lâu

Phương pháp để sử dụng thử nghiệm khám phá một cách hiệu quả

Để việc áp dụng thử nghiệm khám phá một cách hiệu quả nhất, chúng ta nên tham khảo 1 số phương pháp sau:

  • Tập trung vào mục tiêu

Kiểm tra thăm dò giúp bạn thực hiện hệ thống như một người dùng trong khi chủ động tìm kiếm để xác định lỗi. Tập trung vào các mục tiêu này để tối đa hóa giá trị của các bài kiểm tra. Hãy nhớ rằng thử nghiệm thăm dò có thể bổ sung cho các phương pháp thử nghiệm khác để kiểm tra các hệ thống theo những cách khác nhau.

  • Lập kế hoạch kiểm thử, nhưng không tạo kịch bản cho chúng

Không thử nghiệm thăm dò nếu bạn đang đi theo một kịch bản. Tuy nhiên, thử nghiệm thăm dò không có nghĩa là thử nghiệm mà không kiểm soát hoặc thực hành tốt. Ta vẫn cần lập kế hoạch kiểm tra trước. Lập kế hoạch giúp làm rõ các khía cạnh cụ thể của hệ thống mà bạn muốn kiểm tra bao gồm các yêu cầu dữ liệu đặc biệt hoặc mong muốn hệ thống.

  • Đừng cố kiểm tra quá nhiều

Mục đích của thử nghiệm thăm dò không phải là phạm vi bảo đảm chất lượng, đây là việc tìm ra các khiếm khuyết và vấn đề trong hệ thống mà ta sẽ không tìm thấy thông qua các hình thức thử nghiệm khác. Thông thường những khiếm khuyết này phát sinh thông qua các trường hợp thử nghiệm biên, nhưng điều đó không có nghĩa là chúng có tác động thấp. Bản chất của thử nghiệm thăm dò là tập trung vào các bộ phận của hệ thống nằm ngoài mô hình sử dụng thông thường và ít có khả năng được kiểm thử kỹ càng

  • Thử nghiệm thăm dò là một hoạt động chuyên nghiệp

Thông thường, thử nghiệm khám phá cần kỹ năng và kinh nghiệm thử nghiệm cao hơn so với các kỹ thuật thử nghiệm khác. Hoạt động dựa vào kỹ năng của người thực hiện bài kiểm tra, chắc chắn rằng người thực hiện thử nghiệm khám phá là người giỏi nhất và đáng tin tưởng.

  • Lưu giữ một bản ghi rõ ràng về những việc đã làm

Hãy ghi lại rõ ràng về những gì bạn đã làm, cách bạn đã làm và những vấn đề bạn phát hiện ra. Điều này giúp ích cho việc tối ưu hóa quy trình trong tương lai.

  • Sử dụng thử nghiệm thăm dò cùng với thử nghiệm tự động

Kiểm tra tự động kiểm tra hệ thống thực hiện theo nhu cầu đã xác định, kiểm tra thăm dò kiểm tra hệ thống thực hiện như người dùng có thể mong đợi. Do đó quan trọng là phối hợp cả hai loại thử nghiệm để đảm bảo các giá trị của cả thử nghiệm thăm dò và thử nghiệm tự động được thực hiện, ví dụ: khi thử nghiệm thăm dò tìm thấy lỗi, bạn có thể thêm thử nghiệm tự động để ngăn sự cố xảy ra lần nữa.

  • Hiệu suất và phi chức năng có thể thực hiện thử nghiệm thăm dò

Kiểm tra hiệu năng và phi chức năng cũng có thể là thăm dò, ví dụ như theo dõi tải ngày càng tăng trên hệ thống hoặc đo thời gian cần sử dụng để hoàn thành đầy đủ từ đầu đến cuối. Mặc dù hiệu suất và các thử nghiệm phi chức năng khác có phạm vi hạn chế, chúng vẫn có thể được thăm dò

  • Chọn các kỹ thuật Kiểm tra thăm dò đáp ứng nhu cầu của bạn Chúng ta cần nghiên cứu kỹ thuật thử nghiệm thăm dò hiện tại; Thiết lập sự hiểu biết chung về các kỹ thuật sẽ sử dụng và chia sẻ điều này với tất cả các bên liên quan; Xác định phạm vi (bao gồm cả thời gian, quy trình và khi thử nghiệm sẽ được sử dụng); Đảm bảo hệ thống được xây dựng để hỗ trợ thử nghiệm thăm dò

  • Đừng nhầm lẫn giữa thử nghiệm thăm dò với thử nghiệm chấp nhận của người dùng

Sự chấp nhận của người dùng là một hoạt động thử nghiệm có thể được thực hiện theo cách thử nghiệm thăm dò. Đừng nhầm lẫn cách làm việc với loại thử nghiệm cần thiết.

Thử nghiệm thăm dò không phải là một giai đoạn của vòng đời phát triển; đó là một cách tiếp cận và kỹ thuật nên sử dụng trong suốt vòng đời của dự án. Ngay khi các module của một hệ thống đang được phát triển có một luồng có thể kiểm tra thông qua tham dò, bạn phải kiểm tra luồng đó.

  • Chắc chắn rằng mình có quyền sử dụng các công cụ hỗ trợ

Có nhiều công cụ khác nhau mà bạn có thể sử dụng để thực hiện kiểm tra khám phá, từ các công cụ ghi và ghi video hoàn toàn tự động, đến các công cụ lập kế hoạch, đến sơ đồ quy trình và mô tả tính năng với các kế hoạch thời gian đi kèm. Tuy nhiên, công cụ duy nhất bạn thực sự cần để thực hiện thử nghiệm khám phá là một cây bút và một ít giấy.

Các công cụ đều rất tốt, nhưng đừng bỏ qua việc bắt đầu thử nghiệm khám phá nếu bạn không có quyền truy cập vào chúng.

Tóm tắt:

Trên đây là 1 số thông tin mình tóm tắt được từ những bài viết trên internet, có thể chưa được đầy đủ. Các bạn có thể đóng góp ý với mình ở dưới comment nhé.

Tài liệu tham khảo:

https://www.guru99.com/exploratory-testing.html https://www.testingexcellence.com/exploratory-testing-tips-best-practices/ http://tryqa.com/what-is-exploratory-testing-in-software-testing/