Như chúng ta đã biết, trong kiểm thử phần mềm, kiến thức là vô hạn. Để đạt được hiệu quả trong quá trình kiểm thử phần mềm đòi hỏi các kiểm thử viên phải có được những kiến thức nhất định. Từ hiểu biết chung về chuyên ngành kiểm thử đến các kỹ thuật đặc trưng của từng dự án đều cần được lĩnh hội đầy đủ. Có như vậy mới giúp các kiểm thử viên hoàn thành tốt việc bắt bug và đảm bảo chất lượng tốt nhất cho sản phẩm của dự án.

8 kỹ thuật kiểm thử phần mềm quan trọng giúp bạn có được hình dung cơ bản, tăng khả năng linh động trong việc sử dụng các kỹ thuật kiểm thử với từng giai đoạn trong dự án cụ thể nói chung và giai đoạn kiểm thử chấp nhận của người dùng (UAT) nói riêng.


1) Kiểm thử bản tóm tắt nhu cầu người dùng (User Story) (AGILE)

 

  •  Mỗi bản tóm tắt nhu cầu của người dùng có thể dùng để mô tả một tính năng được yêu cầu cần có trong phần mềm, lấy từ quan điểm của người dùng cuối trong vòng đời phát triển phần mềm. Trong bản tóm tắt này, chúng tôi phải xác định được yêu cầu của khách hàng là gì, ai sẽ là người sử dụng chức năng đó, nhằm mục đích gì. Đây là các thông tin cơ bản nhất mà nhóm phát triển cần biết để có thể thực hiện công việc của mình.
  •  Định nghĩa Hoàn thành (DOD): định nghĩa các tiêu chuẩn hoàn thành như: thực hiện xong viết mã lệnh, thực hiện xong kiểm thử mức đơn vị, thực hiện xong cả quá trình kiểm thử, thực hiện xong UAT, vv… Nhóm Scrum (bao gồm: nhà phát triển, người kiểm tra, PO, vv) chịu trách nhiệm về sự thành công của sản phẩm đồng thời có trách nhiệm thực hiện DOD.
  • Ngoài ra, tiêu chuẩn chấp nhận của sản phẩm phải được thể hiện rõ ràng bởi PO (Product Owner: Là người chịu trách nhiệm về sự thành công của sản phẩm đang được phát triển. Công việc chủ yếu của Product Owner là tối ưu hóa giá trị của sản phẩm thông qua việc quản lý thật tốt Product Backlog.) Nhóm phát triển cần có ít nhất một kịch bản thử nghiệm cho mỗi tiêu chí chấp nhận của sản phẩm. Đồng thời các tiêu chí chấp nhận này cũng cần phải được kiểm thử một cách cẩn thận.

2) Sử dụng các trường hợp kiểm thử

  •  Một trường hợp kiểm thử là danh sách các hoạt động được thực hiện trong hệ thống để đạt được một mục đích cụ thể.
  •  Các yêu cầu chức năng của một hệ thống có thể được xác định và quản lý bằng các trường hợp sử dụng.
  • Bằng cách này, phạm vi của công việc hoặc yêu cầu sẽ được xác định một cách cụ thể.
  • Các kịch bản kiểm thử được chuẩn bị bằng cách xem xét các đầu vào và đầu ra của từng bước thực hiển do người dùng xác định để đạt được mục đích cụ thể. Trong các thử nghiệm, kết quả của các thử nghiệm được xác định bằng cách so sánh với các kết quả đầu ra mong đợi với kết quả thực tế.

3) Kiểm thử dựa trên bảng danh sách

  •  Trong các quy trình của agile, chúng tôi tạo danh sách kiểm tra chung độc lập từ các user story.
  •  Nếu không có bất kỳ rủi ro nào được quy định trong User Story, các mục trong danh sách kiểm tra này đều có thể được sử dụng để kiểm thử.
  •  Trong khi thực hiện, nếu bạn tìm thấy lỗi, bạn nên mở rộng phạm vi của danh sách kiểm tra bằng cách thêm các trường hợp bị lỗi hệ thống hoặc lỗi chương trình. Do đó, chúng tôi có thể thêm các mục có nguy cơ rủi ro trong danh sách kiểm tra cho những sprint ngắn tiếp theo. Khi viết các trường hợp, thường sử dụng ngôn ngữ kinh doanh hơn là ngôn ngữ kỹ thuật. Do đó, chúng thường được sử dụng để viết các kiểm thử chấp nhận. Ít nhất một kịch bản thử nghiệm được chuẩn bị cho một yêu cầu. Và để đáp ứng tất cả các yêu cầu cần chuẩn bị đầy đủ các trường hợp kiểm thử.
  • Bằng cách này, phạm vi kiểm tra có thể được tăng lên và chúng tôi có thể đo lường mức độ phù hợp này bằng cách sử dụng ma trận truy xuất nguồn gốc. Trong ma trận, chúng ta tạo ra một bảng ma trận truy xuất nguồn gốc với các kịch bản và yêu cầu thử nghiệm và đặt một dấu chéo trong trường hợp có liên quan nếu nó đáp ứng các yêu cầu cho từng trường hợp thử nghiệm. Mục đích là để bao phủ được tất cả các yêu cầu.

* Ví dụ cụ thể về checklist:

  • Tất cả các liên kết trong hệ thống (Web / Di động) sẽ hoạt động chính xác.
  • Không nên có một lỗi ngữ pháp trong các bài viết trong hệ thống.
  • Kích thước phông chữ, phông chữ, phải như mong đợi.
  • Không nên có bất kỳ hình ảnh nào không thể tải / hỏng trong hệ thống.
  • Hình ảnh, văn bản, vv sự liên kết giữa các thành phần với nhau phải như mong đợi.
  • Tất cả các nút phải hoạt động đúng và mỗi nút hướng người dùng đến các hoạt động tương ứng.
  • Mỗi trang phải có biểu tượng trang chủ và sẽ được chuyển hướng đến trang chủ khi được click vào.
  • Cảnh báo, thông báo thông tin sẽ được hiển thị theo đúng định dạng.
  • Nếu tải được trang thì nó phải được kiểm tra ở tất cả các độ phân giải.
  • Tất cả các thành phần trên trang web (danh sách thả xuống, popup, nút radio, v.v.) sẽ hoạt động chính xác.
  • Các điều kiện đặc biệt (số, chữ và số, vv) trong các trường yêu cầu nhập phải được kiểm tra.
  • Không thể thực hiện thao tác tiếp theo khi để trống các trường bắt buộc.
  • Mọi hoạt động của trang web không được kéo dài quá 3 đến 15 giây. … V.v.

4) Kiểm thử thăm dò

  • Kiểm thử thăm dò không phải là một thử nghiệm ngẫu nhiên hoặc đặc biệt. Một trong những quan niệm sai lầm lớn nhất về kỹ thuật thử nghiệm này là coi nói như một kỹ thuật kiểm tra ngẫu nhiên, không thể kiểm tra, không thể quan sát được.
  • Kiểm thử thăm dò là phương pháp thử nghiệm dựa trên việc học và khám phá sản phẩm kết hợp với kinh nghiệm, sự hiểu biết, khả năng phân tích và trí tuệ của kỹ sư kiểm tra trong các quy trình agile.
  • Cần chuẩn bị điều kiện tiền đề trước khi bắt đầu thử nghiệm thăm dò. Việc lên một kế hoạch về phạm vi chức năng, công cụ sử dụng, dữ liệu thử nghiệm, môi trường, vv sẽ giúp người thử nghiệm trong quá trình thực hiện kiểm thử được suôn sẻ hơn. Một điểm quan trọng khác của kiểm thử thăm dò là tài liệu cần được hoàn thành đầy đủ sau khi các bài kiểm tra kết thúc.
  • 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”. Kỹ thuật này bao gồm các bước sau:
  • Các hoạt động chính:
  • Thời gian kiểm tra (Sẽ mất vài giờ)
  • Phiên hoạt động bao gồm:
  • Thiết lập phiên
  • Kiểm thử thiết kế và thực hiện kiểm thử
  • Tìm kiếm lỗi
  • Báo cáo
  • Cần xác định mục đích của thử nghiệm
  • Cần xác định mục tiêu của thử nghiệm.
  • Các chức năng có trong thử nghiệm (báo cáo thử nghiệm - điều lệ) đều nên được viết ra.
  • Báo cáo kiểm thử trong và sau quá trình thử nghiệm:
  • Báo cáo thử nghiệm (Điều lệ) [Chỉ ra chức năng kiểm tra.]
  • Người thực hiện kiểm tra
  • Ngày bắt đầu và thời gian
  • Số liệu (Số liệu được thu thập trong quá trình thực hiện kiểm tra và tìm kiếm lỗi)
  • Dữ liệu thử nghiệm
  • Ghi chú kiểm tra
  • Các kết quả
  • Lỗi

5) Kiểm thử dựa trên kinh nghiệm

 

  • Kỹ thuật kiểm tra này dựa trên kiến thức, kỹ năng và kinh nghiệm của người kiểm thử.
  • Trong kỹ thuật thử nghiệm này, kế hoạch kiểm tra, chiến lược kiểm tra, đầu vào thử nghiệm và các kịch bản thử nghiệm được xác định bởi trải nghiệm của người thực hiện kiểm thử.
  • Người thích hợp sử dụng kỹ thuật này phải là một ứng cử viên có kinh nghiệm với kiến thức kỹ thuật và kiến thức kinh doanh đầy đủ. Họ sẽ dễ dàng xác định được những gì đang diễn ra là đúng hay sai trong quá trình thử nghiệm bởi vì họ có những kinh nghiệm thu được trong quá trình kiểm thử các dự án trước đây.
  • Người này có thể thực hiện kiểm thử bằng cách sử dụng các kỹ thuật như kiểm thử thăm dò, vì nó giúp họ dễ dàng sử dụng kinh nghiệm trong quá khứ kết hợp với kiến thức phân tích / trí tuệ để kiểm thử.
  • Kỹ thuật kiểm tra này có ý nghĩa khi dự án có thời gian thực hiện kiểm thử rất ngắn hoặc không có đủ tài liệu về dự án, v.v.
  • Nếu hệ thống đang được thử nghiệm chứa nhiều rủi ro thì không nên sử dụng kỹ thuật kiểm thử dựa trên kinh nghiệm vì nó không thể bao phủ được hoàn toàn các yêu cầu của hệ thống.

6) Kiểm thử hành trình người dùng

 

  • Kiểm thử hành trình người dùng có tính đến các yếu tố bản đồ đường bộ và hành trình của một người dùng thông thường trên hệ thống. Trong các thử nghiệm này, những hành trình quan trọng nhất mà người dùng sẽ thực hiện trong trang web được xác định và dựa vào đó dựng các trường hợp kiểm thử. Tương tác của người dùng với hệ thống được tính toán nhiều nhất có thể. Các kiểm thử này thường là các ca kiểm thử “từ đầu đến cuối”, vì vậy họ có thể mất nhiều thời gian hơn các kiểm thử khác, nhưng tỷ lệ bao phủ của các kiểm thử này cũng đồng thời cao hơn.
  • Vì kiểm thử “Hành trình người dùng” là các trường hợp kiểm thử toàn diện và mở rộng. Các trường hợp kiểm thử của loại kiểm thử này sẽ bao gồm các trường hợp có các xử lý quan trọng nhất của hệ thống. Đó là các trường hợp kiểm thử nên được chạy đầu tiên.
  • Phạm vi phủ sóng rộng của các kiểm thử “hành trình người dùng” có lợi trong việc phát hiện sớm các lỗi nghiêm trọng trong quá trình phát triển phần mềm, đặc biệt là trước khi bắt đầu thử nghiệm rộng rãi. - Không giống như kiểm thử user story, kiểm tra hành trình của người dùng không được gắn với câu chuyện của người dùng. Khi có những thay đổi được tạo ra bởi yêu cầu mới của người dùng mới, các kiểm tra hành trình của người dùng hiện có sẽ được cập nhật khi hệ thống áp dụng những thay đổi mới này.

7) Thử nghiệm dựa trên rủi ro

 

  • Một trong những mục tiêu cơ bản nhất của kỹ thuật kiểm tra dựa trên rủi ro là tìm ra các lỗi quan trọng và quan trọng nhất càng sớm càng tốt với chi phí thấp nhất.
  • Rủi ro là những thứ mà chúng ta không biết chính xác điều gì sẽ xảy ra, nhưng chúng ta biết xác suất có thể xảy ra.
  • Định nghĩa chung về độ lớn của rủi ro là khả năng nhân lên của các vấn đề và tác động của chúng trong hệ thống. Vì vậy, trong các thử nghiệm dựa trên rủi ro, chúng tôi ưu tiên kiểm tra các chức năng dễ bị lỗi nhất trước tiên.
  • Tầm quan trọng của rủi ro = Khả năng * Tác động
  • Việc áp dụng sớm phương pháp thử nghiệm dựa trên rủi ro trong các dự án là rất quan trọng để phát hiện sớm các vấn đề.

Các bước cơ bản nhất của thử nghiệm dựa trên rủi ro được tóm tắt dưới đây:

1- Đầu tiên, xác định các rủi ro và lập danh sách rủi ro theo thứ tự ưu tiên.

2- Lập kế hoạch kiểm tra theo danh sách rủi ro được ưu tiên và tiến hành các thử nghiệm thực hiện cho từng rủi ro.

3- Kết quả kiểm thử là một số rủi ro sẽ được loại bỏ và một số trong số chúng sẽ bị phát sinh. Rủi ro mới sẽ được tiến hành kiểm thử lại. Tại thời điểm này, mục tiêu cơ bản nhất của chúng tôi là tìm ra những khiếm khuyết quan trọng nhất.

Nếu bạn chịu trách nhiệm kiểm thử một sản phẩm có khả năng thất bại rất cao, bạn sẽ cần phân tích rủi ro một cách chi tiết. Có thể sử dụng các mô hình thống kê. Một trong những mô hình nổi tiếng nhất là mô hình PHÂN TÍCH TÁC ĐỘNG VÀ HÌNH THỨC SINH RA LỖI SAI (FMEA).


8) Thử nghiệm dựa trên rủi ro theo kinh nghiệm của James Bach

 

  • (Xuất bản lần đầu trong tạp chí kiểm thử phần mềm và kỹ thuật chất lượng, 11/99 Copyright 1999, James Bach)
  • Bạn có thể tìm thấy chi tiết trong liên kết này: http://www.satisfice.com/articles/hrbt.pdf
  • Tôi chỉ muốn cung cấp cho một bản tóm tắt của thử nghiệm dựa trên rủi ro Heuristic.
  • Khi bắt đầu các dự án của bạn, phân tích rủi ro của bạn có thể không đầy đủ hoặc không chính xác ở một mức độ nào đó bởi vì không thể ước tính tất cả mọi thứ 100% ngay từ lúc đầu.
  • Tuy nhiên, khi dự án của bạn có tiến triển và sản phẩm của bạn được cải thiện, ước tính của bạn và phân tích rủi ro sẽ ngày càng trở nên mạnh mẽ hơn. Theo James Bach, hai yếu tố quan trọng nhất đối với rủi ro là kinh nghiệm và tinh thần đồng đội.
  • Trong một khoảng thời gian nhất định, các sản phẩm hoặc công nghệ bắt đầu lộ ra các vấn đề đặc trưng của chúng.
  • Điều quan trọng là quan sát và tìm hiểu về chúng. Điều này rất quan trọng để làm phân tích rủi ro với những người có quan điểm khác nhau.
  • Ngoài ra, việc sử dụng danh sách rủi ro giúp chúng tôi thương lượng tốt hơn với quản lý về sử dụng lao động trong dự án một cách hiệu quả. Chúng tôi có thể cho họ thấy rằng chúng tôi sử dụng lực lượng kiểm thử hiện tại cho các điểm quan trọng nhất của sản phẩm hoặc chúng tôi có thể cần phải giải thích rằng chúng tôi cần thêm người để xử lý được tất cả các khu vực có rủi ro.
  • Link Bài viết gốc : https://viblo.asia/p/8-ky-thuat-kiem-thu-phan-mem-quan-trong-OeVKBRR2KkW

Kháo học kiểm thử phần mềm khai giảng tháng 8 tại Techmaster.