Exploratory testing và Ad-hoc testing

10 min read

Khi công nghệ ngày càng phát triển, các thuật ngữ kiểm thử phần mềm mới luôn được bổ sung trong ngành phần mềm. Vì vậy, với tư cách là một QA, việc cập nhật thông tin trên thị trường là một quá trình học hỏi liên tục. Các kỹ sư QA hoặc bất cứ ai làm việc trong ngành này đều phải quan tâm đến các điều khoản và luôn luôn xem xét kỹ lưỡng. Bài viết này sẽ giới thiệu với các bạn về một phần rất thú vị đó là “Exploratory Testing” và “Ad-hoc testing”.

1. Khái niệm “Exploratory Testing”

Exploratory Testing là sự khám phá và sáng tạo của người thử nghiệm. Nó cung cấp quyền tự do thử nghiệm đặc biệt với nhiều ưu điểm hơn so với thử nghiệm chính thức. Đúng như tên gọi, thử nghiệm thăm dò cho phép người thử nghiệm khám phá, tìm hiểu và thử nghiệm phần mềm để cải thiện nó. Mặc dù dành chỗ cho người thử nghiệm suy nghĩ sáng tạo và phản biện khi thực hiện thử nghiệm của mình, nhưng điều bắt buộc là phải tạo tài liệu về các trường hợp thử nghiệm và đặt ra mục tiêu. Đây là một loại thử nghiệm trong đó người thử nghiệm đặt câu hỏi kỹ lưỡng về những gì sản phẩm có thể làm và cách sắp xếp thử nghiệm phù hợp. Do đó, nó có đủ cấu trúc để cung cấp kết quả đáng tin cậy và có thể xác định những khó khăn mới trong các trường hợp thử nghiệm một cách hiệu quả.

Đặc điểm của Exploratory testing

  • Chuẩn bị các kịch bản kiểm thử để xác định tính ổn định của phần mềm.
  • Kiểm tra toàn diện các trường hợp của ứng dụng dựa trên việc xác định yêu cầu.
  • Tìm ra các yêu cầu cũng như các chức năng của ứng dụng.
  • Tìm ra giời hạn của ứng dụng.
  • Xác định phạm vi của dự án.

Trong quá trình kiểm tra của phương thức này tester (QA) phải làm nỗ lực tối thiểu để lập kế hoạch nhưng trong khi thực thi tối đa tester (QA) phải kiểm tra được các chức năng của ứng dụng một cách chính xác. Điều này rất hữu ích cho tester (QA) để đưa ra quyết định những gì có thể được làm bên cạnh việc kiểm tra. Trong suốt quá trình kiểm tra tester (QA) cần tìm hiểu về hành vi của các ứng dụng phần mềm, bắt đầu tạo kế hoạch thử nghiệm hoặc kịch bản kiểm thử. Có những công cụ thử nghiệm thăm dò khác nhau trên thị trường. Một trong những công cụ kiểm tra đó là “Session Tester” có thể được sử dụng như để quản lý và thu âm “Session-Based Testing”. Việc tạo ra các kịch bản kiểm thử là hoàn toàn dựa trên những kinh nghiệm và việc học hỏi ứng dụng ngoài việc test.

2. Khái niệm “Ad-hoc testing”

Ad-hoc Testing là một phương pháp thử nghiệm phần mềm không chính thức, không có cấu trúc mà bạn có thể thực hiện mà không cần có kiến ​​thức sâu sắc về đối tượng thử nghiệm, nhờ đó có khả năng phát hiện ra các lỗi nghiêm trọng bị bỏ qua khi thử nghiệm tự động hoặc hồi quy. Điều này có thể được thực hiện bằng cách sử dụng một kỹ thuật gọi là đoán lỗi. Nói cách khác, nó không có cấu trúc. Do đó, nó không có bất kỳ quy tắc, mục tiêu hoặc kế hoạch nào được ghi lại, vì vậy hiệu quả của loại thử nghiệm đó thực sự phụ thuộc vào kinh nghiệm của người thử nghiệm. Có thể bỏ qua rằng nếu không có bất kỳ thông số kỹ thuật nào, việc kiểm tra đặc biệt sẽ khó quản lý và thường thiếu tài liệu cố hữu có nghĩa là bất kỳ lỗi nào được phát hiện cũng sẽ khó tái tạo.

Đặc điểm của Ad-hoc testing

  1. Ad-hoc testing được thực hiện sau khi quá trình test thông thường kết thúc trên ứng dụng hoặc sản phẩm.
  2. Quá trình kiểm tra này là để thực hiện với mục đích phá vỡ ứng dụng mà không theo bất cứ quy trình nào.
  3. Testers (QA) thực hiện quá trình kiểm tra ad-hoc cần có kiến thức toàn diện về sản phẩm.
  4. Lỗi được tìm thấy trong suốt quá trình ad-hoc cho thấy có nhiều sơ hở trong quá trình thử nghiệm tiếp theo.
  5. Ad-hoc testing được thực hiện chỉ một lần cho đến tận khi và trừ khi một lỗi được tìm thấy trong đó yêu cầu cần kiểm tra lại.

3. So sánh Ad-hoc testing và Exploratory testing

Adhoc TestingExploratory Testing
Ad-hoc testing bắt đầu với việc học ứng dụng và sau đó làm việc với quá trình kiểm tra thực tế.Exploratory Testing bắt đầu với việc khám phá ứng dụng trong khi học.
Trong Ad-hoc testing tài liệu không phải là nhu cầu cần thiết. Đội QA tham gia vào quá trình kiểm tra mà không cần tài liệu đặc tả yêu cầu.Trong Exploratory Testing tài liệu là bắt buộc. Để đảm bảo về chất lượng của dự án, tài liệu chi tiết của quá trình kiểm tra là cần thiết.
Ad-hoc nhắc đến sự hoàn hảo của hoạt động kiểm tra.Exploratory Testing nhắc đến khảo sát hơn là về việc học tập của ứng dụng.
Việc thực thi quá trình kiểm tra được áp dụng trong Ad-hoc testing.Mở rộng tình huống của Exploratory Testing sẽ giúp bạn có kiến thức sâu hơn về kết quả của quá trình kiểm tra.
Ad-hoc là công nghệ test của ứng dụng, nó cung cấp vai trò quan trọng trong việc sản xuất phần mềm.Tester (QA) cần phải học một chức năng phần mềm đầu tiên. Exploratory Testing giúp bạn làm việc đó. Trước khi thực hiện kiểm tra các ứng dụng hoặc phần mềm các kỹ sư cần phải tìm hiểu nó thông qua Exploratory Testing.
Thử nghiệm này thực thi một lần duy nhất. Các kỹ sư kiểm thử nó một lần tại một thời điểm, tuy nhiên nếu có bất kỳ vấn đề gì tìm thấy trong quá trình test thì cần phải thực hiện lặp lại thao tác.Đây là phương pháp thử nghiệm kết hợp các kết quả kiểm tra trong quá trình nghiên cứu và việc tạo ra một giải pháp mới.
Nó chủ yếu hoạt động trên các mối quan tâm về nghiệp vụ và làm gia tăng sự hiểu biết về các ứng dụng.Nó phân loại các vấn đề và so sánh chúng từ các vấn đề được tìm thấy trong quá khứ. Điều này giúp làm giảm thời gian cho việc kiểm tra.
Ad-hoc testing giúp bạn tìm thấy ý tưởng sáng tạo từ các nghiên cứu.Nó giúp phát triển các ứng dụng.
Ad-hoc Testing không quan trọng là cần phải chuyên gia về phần mềm thực thi nó.Nó luôn luôn thực thi bởi Tester (QA) có kinh nghiệm.
Ad-hoc không cần quan tâm đến các trường hợp khó, mục đích của nó là để chạy các kết quả.Luôn luôn có những tình huống khó khăn trong trường hợp kiểm tra. Exploratory Testing giúp cho việc sắp xếp nó.
Nó cần có sự chuẩn bị để bắt đầu và tiếp tục.Exploratory Testing không cần thời gian bắt đầu.
Đây là phương thức thử nghiệm không chính thức.Đây là nền tảng thử nghiệm chính thức.
Nó làm việc trên quá trình test phủ định là chủ yếu.Quá trình kiểm tra này làm việc trên quá trình khẳng định.
Phương thức kiểm tra này chủ yếu là kết nối các hệ thống con với các ứng dụng và giúp cho việc tìm lỗ hổng khi hệ thống đang hoạt động.Nó khám phá những yếu tố trong ứng dụng và tiến hành kiểm tra chúng bằng cách cung cấp một bản phác thảo.
Nó không làm việc theo luồng của hệ thống.Exploratory testing làm việc theo luồng của hệ thống từ khi hoạt động kiểm tra được bắt đầu. Nó bắt đầu với đối tượng chính và thu thập đúng thông tin đúng về chúng.
Ad-hoc tập trung vào quá trình và kiểm tra ứng dụng nhiều lần.Tập trung giới hạn trong lĩnh vực nhập dữ liệu, kiểm tra với giao diện.
Kết quả cuối cùng của Ad-hoc phụ thuộc vào đặc tả yêu cầu và cung cấp cho tester (QA) sự rung cảm lớn cho vấn đề ở hiện tại để kiểm tra một cách chính thức.Sản phẩm cuối cùng được xác định dựa trên thuật toán và đặt nó trong file excel để sử dụng tiếp.
Sự khác nhau giữa Exploratory Testing và Ad-hoc Testing

4. Việc sử dụng cả Ad-hoc và Exploratory Testing liệu có cần thiết?

Tất cả chúng ta đều đã thấy các bài viết khuyến nghị thử nghiệm thăm dò (thăm dò) để phát hiện lỗi nhanh hơn và sớm hơn trong quá trình phát triển. Cả thử nghiệm đặc biệt và thử nghiệm thăm dò đều là các phương pháp thử nghiệm dựa trên kinh nghiệm, dựa trên kinh nghiệm và trực giác. Nếu một người không có chuyên môn kiểm thử với bí quyết chính xác, anh ta sẽ không thể kiểm thử một cách khám phá. Ngoài ra, điều trở nên quan trọng ở đây là tạo trường hợp thử nghiệm. Vì người kiểm thử sẽ học khi anh ta tiến hành và khám phá, nên việc tạo và ghi chép các trường hợp kiểm thử cuối cùng đòi hỏi các kỹ năng để tạo ra các trường hợp kiểm thử phù hợp và có thể tốt hơn để có thể tái sử dụng.

Ad-hoc Testing nghe có vẻ ngẫu hứng nhưng nó có ích. Đối với các chức năng đơn giản và phổ biến như đăng ký và đăng nhập, tốt hơn nên sử dụng thử nghiệm đặc biệt vì bạn không muốn lãng phí thời gian ghi lại và tạo các trường hợp thử nghiệm cần cân nhắc kỹ lưỡng.

Exploratory Testing đánh dấu một hoạt động thiết yếu trong khi thực hành các phương pháp Agile trong phát triển phần mềm. Phương pháp thử nghiệm này có thể được sử dụng cho các chức năng phức tạp vì nó đáng tin cậy hơn và sau đó có thể được chỉ định cho những người thử nghiệm cấp dưới vì họ có thể thực hiện các trường hợp thử nghiệm tương tự sau khi được hoàn thành một lần. Thử nghiệm thăm dò có ích khi xử lý các dự án ngắn hạn không yêu cầu lập kế hoạch và tài liệu thử nghiệm rộng rãi.

Bài viết được tham khảo từ các nguồn:

http://www.softwaretestingclass.com/difference-between-adhoc-testing-and-exploratory-testing/

http://www.softwaretestingclass.com/what-is-exploratory-testing/

http://istqbexamcertification.com/what-is-ad-hoc-testing/

https://shiftasia.com/column/difference-between-exploratory-testing-and-ad-hoc-testing-not-everyone-knows-about

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Leave a Reply

Your email address will not be published. Required fields are marked *