Specification based testing là gì

Dịch và tìm hiểu chương 4- ISTQB( THIẾT KẾ THỬ NGHIỆM KỸ THUẬT)    

  • Báo cáo

Bài đăng này đã không được cập nhật trong 5 năm

Chương 4: THIẾT KẾ THỬ NGHIỆM KỸ THUẬT

Phần chương này chúng ta sẽ tìm hiểu về các nội dung dưới đây:

I. Làm thế nào để tìm thấy những điều kiện thử nghiệm và thiết kế trường hợp thử nghiệm(testcase)

II. Tổng quan về kỹ thuật thiết kế trường hợp thử nghiệm

III. Làm thế nào để lựa chọn kỹ thuật

Chúng ta sẽ đi làm rõ từng vấn đề đã nêu ở trên:

I.Làm thế nào để tìm thấy những điều kiện thử nghiệm và thiết kế trường hợp thử:

Hướng dẫn cụ thể yêu cầu của kiểm thử gồm có 3 bước:

  • Kiểm tra điều kiện( Test condition)
  • Kiểm tra trường hợp(  Test case)
  • Kiểm tra quy trình( Test procedure)

ví dụ: một chức năng, giao dịch, thuộc tính chất lượng, hoặc yếu tố cấu trúc.

Có thể lấy một ví dụ cụ thể để làm rõ nội dung của 3 mục trên như sau:

Ví dụ về  Test design specification:

Cần kiểm tra chế độ hoạt động của việc truyền tải dữ liệu giữa các thiệt bị thông qua Blutooth

Kiểm tra có thể truyền tải giữa các loại thiết bị khác dòng được không( ex giữa samsung và sony)

Kiểm tra có thể  truyền tải giữa các loại thiết bị cùng hãng nhưng khác đời

Kiểm tra có thể truyền các dạng dữ liệu khác nhau( ex ảnh có các đuôi khác nhau)

Kiểm tra hoạt động truyền tải dữ liệu khi có khoảng cách vị trí

Kiểm tra việc nhận dữ liệu khi truyền tải dữ liệu lỗi

Ví dụ về Test case:

Với thiết kế kiểm thử kĩ thuật như trên ta sẽ có trường hợp kiểm thử như sau:

Yêu cầu: Cầm kiểm tra được hoạt động truyền tải dữ liệu giữa các thiết bị thông qua Bluetooth

Điều kiện tiền đề( Preconditions):

  • Chuẩn bị các thiết bị cùng hãng, khác hãng, cùng đời và khác đời
  • Chuẩn bị các file ảnh có định dạng khác nhau( JPEG, TIFF, GIF và PNG), file     ảnh lỗi
  • Lưu các file ảnh đã chuẩn bị vào thẻ SD

Đầu vào:

Thực hiện bật Bluetooth ở các thiết bị, kết nối Bluetooth

Thực hiện truyền giữ liệu đã thuẩn bị giữa các thiết bị với nhau

Thực hiện việc truyền dữ liệu ở khoảng cách gần và xa

Kết quả mong đợi:

+ Có thể truyền tải giữ liệu giữa các thiết bị

+ Có thể truyền tải giữ liệu giữa các thiệt bị ở khoảng cách gần và xa

+ Có thể xem được các dữ liệu đã truyền ở các thiết bị nhận được

+ Với file lỗi thì không thể xem được
  • Điều kiện sau kết thúc( Postconditions): Trong thời gian bật Bluetooth các thiết bị vẫn giữ kết nối.

Có thể hình dung đơn giản 3 giai đoạn trên qua biểu đồ:

Specification based testing là gì

Cấu trúc của test case sẽ gồm có những phần sau:

Xác định yêu cầu cần kiểm tra theo thiết kế kiểm thử kĩ thuật

Nêu rõ điều kiện tiền đề

Dữ liệu đầu vào( các bước thực hiện)

Kết quả mong đợi

Điều kiện sau kết thúc

Mức độ quan trọng của phần Kết quả mong đợi( Expected Results ):

Kết quả mong đợi tương đương với Chương trình hoạt động hợp lí. Nó là một phần của đặc điểm kĩ thuật của môi trường thử nghiệm và bao gồm các kết quả đầu ra, thay đổi dữ liệu, các trạng thái và bất kì hậu quả khác của việc kiểm tra. Sẽ gặp vấn đề nếu không định rõ được những điều sau:

Dưới áp lực thời gian bỏ qua lỗi

Trong suốt quá trình kiểm tra không thông qua đặc điểm kĩ thuật.

Bỏ qua việc kiểm tra kết quả với những vấn đề khó( ví dụ rò rỉ bộ nhớ, dữ liệu nền(background data)...)

Các bước của quá trình Kiểm tra:

Thông thường một trường hợp kiểm tra gồm có các bước sau:

Set- up: Có được nguồn lực cần thiết, tạo các đơn vị kiểm tra( unit under test) và đưa nó vào trạng thái mong muốn. Có thể cần các unit khác và dữ liệu thử nghiệm( test data)

Input: Gửi dữ liệu đầu vào cho các đơn vị kiểm tra

Xác minh(Verify): Lấy kết quả của sự kích thích. Đây có thể là dữ liệu đầu ra hoặc thay đổi trạng thái. Thu thập những điều này và trả lại cho các khuôn khổ kiểm tra, sau đó báo cáo kết quả cho các kiểm thử viên

Teardown: Phát hành tất cả các nguồn lực được sử dụng, để tránh phụ thuộc lẫn nhau giữa các xét nghiệm.

4.Kiểm tra quy trình ( Test procedure):

Kiểm tra quy trình: Tài liệu quy định một chuỗi các hành động để thực hiện một thử nghiệm. Còn được gọi là kịch bản thử nghiệm hoặc bằng tay kịch bản thử nghiệm. Nó phụ thuộc vào kĩ năng và kiến thức của kiểm tra viên, đồng thời cũng phụ thuộc vào yêu cầu  từ tài liệu

II. Tổng quan về kỹ thuật thiết kế trường hợp thử nghiệm

Kỹ thuật cho thiết kế thử nghiệm:

Kiểm thử hộp đen(Black- box) -còn gọi là kỹ thuật dựa trên đặc điểm(specification-based techniques )

Kiểm thử hộp trắng(White- box)- còn gọi là kỹ thuật kết cấu hoặc dựa trên cấu trúc(structure-based techniques )

Kỹ thuật dựa trên kinh nghiệm(experience- base techniques)

2.1. Đặc điểm chung của kỹ thuật Black- box:

Mô hình(chính thức, không chính thức)

Từ những trường hợp mô hình thử nghiệm có thể được bắt nguồn một cách hệ thống.

2.2. Đặc điểm chung của các kỹ thuật dựa trên cấu trúc:

Thông tin về phần mềm được xây dựng từ mã(code) và thiết kế(design )

Mức độ bao phủ của các phần mềm có thể được đo cho các trường hợp thử nghiệm hiện có, và các trường hợp thử nghiệm hơn nữa có thể được bắt nguồn  một cách hệ thống để tăng vùng phủ sóng

2.3. Đặc điểm chung của các kỹ thuật dựa trên kinh nghiệm:

Những kiến thức và kinh nghiệm của con người được sử dụng để đề xuất được các trường hợp thử nghiệm.

Kiến thức của kiểm tra viên, nhân viên phát triển, người dùng và các bên liên quan đến phần mềm sử dụng phần mềm đó.

Kiến thức về các khuyết tật có khả năng và phân phối của họ

3.1. Kiểm thử hộp đen(black-box techniques ):

Specification based testing là gì

Kiểm thử hộp đen có 7 loại:

  • Phân vùng tương đương:

Phương pháp này chia miền đầu vào của chương trình thành các lớp dữ liệu rồi suy ra các ca kiểm thử

Phương pháp này có thể tìm thấy cho cả dữ liệu hợp lệ và không hợp lệ, nó có thể xác định cho kết quả đầu ra, giá trị nội bộ, giá trị thời gian, các thông số giao diện.

Phương pháp này được áp dụng tại tất cả các cấp của thử nghiệm

  • Phân tích giá trị biên:

Kinh nghiệm trong quá trình kiểm tra cho thấy có rất nhiều lỗi xảy ra ở giá trị biên( đầu và cuối) của một khoảng liên tục

Quanh giá trị tôi đa và tối thiểu có thể kiểm tra được cả ca hợp lệ và không hợp lệ giá trị gianh giới.

Phân tích giá trị biên có thể áp dụng ở  tất cả các cấp kiểm tra, nó còn được xem là phần bù đắp hoàn hảo cho phân vùng tương đương.

  • Kiểm thử bảng quyết định(decision table testing):

Áp dụng cho hệ thống kết hợp nhiều điều kiện thức tạp với nhau

Đưa ra dược các ca kiểm tra tương ứng nhưng tốn nhiều thời gian

  • Kiểm thử biến đổi trạng thái(State-transition Testing)

Thể hiện sự biến đổi từ trạng thái này sang trạng thái khác

Các bảng trạng thái bao gồm 4 cột: Trạng thái, sự kiện, hành động và trạng thái tiếp theo

Một bảng trạng thái chỉ ra mối quan hệ giữa các trạng thái và các đầu vào, và có thể làm nổi bật quá trình chuyển đổi kể cả không hợp lệ

Kiểm tra trạng thái được sử dụng nhiều trong ngành công nghiệp phần mềm nhúng và tự động hóa kỹ thuật nói chung

  • Kỹ thuật dựa trên ặc tả (Use Case Testing)

Quyết định và mô tả các yêu cầu về mặt chức năng của hệ thông

Tạo nên một nền tảng cho các bước thử nghiệm hệ thống, đảm bảo hệ thống thỏa mãn đúng những yêu cầu do người sử dụng đưa ra

Mỗi trường hợp sử dụng có điều kiện tiên quyết, mà cần phải được đáp ứng cho một trường hợp sử dụng để làm việc thành công.

Mỗi trường hợp sử dụng chấm dứt với hậu điều kiện, đó là những kết quả quan sát được và trạng thái cuối cùng của hệ thống sau khi các trường hợp sử dụng đã được hoàn thành.

Một trường hợp sử dụng thường có một truyền thống (tức là có khả năng nhất) kịch bản, và các chi nhánh đôi khi thay thế.

Đơn giản hóa việc thay đổi và mở rộng hệ thống thông qua việc điều chỉnh các trường hợp kiểm tra

Kỹ thuật này không chỉ được dùng để nắm bắt các yêu cầu của hện thống mới mà còn được sử dụng để hỗ trợ cho việc phát triển một phiên bản mới của hệ thống.

3.2. Kiểm thử hộp trắng(white-box techniques ):

Specification based testing là gì

Kiểm thử hộp trắng dựa vào thuật giải cụ thể, vào cấu trúc dữ liệu bên trong của đơn vị phần mềm cần kiểm thử để xác định đơn vị phần mềm đó có thực hiện đúng không. Có 2 loại:

Kiểm thử luồng điều khiển:

Xác nhận truy cứu các lịch sử thực hiện source code bằng cách sử dụng trình gỡ lỗi

Kiểm thử dòng dữ liệu:

Kiểm thử bao quát các dòng source code, nhánh và đường dẫn

3.3. Kỹ thuật dựa trên kinh nghiệm(experience- base techniques)

Kỹ thuật này rất phụ thuộc vào kiến thức, kỹ năng và kinh nghiệm Nó thường tập trung vào:

Lỗi điển hình

Giá trị đặc biệt

Nội dung chưa rõ ràng

Kết nối đặc biệt và bối cảnh

Các yếu tố rủi ro

Sử dụng các chương trình và môi trường của nó

III. Làm thế nào để lựa chọn kỹ thuật

  • Sự lựa chọn kỹ thuật kiểm tra phụ thuộc vào một số yếu tố như:

Các loại hệ thống

Tiêu chuẩn quy định

Yêu cầu từ khách hàng hoặc hợp đồng

Mức độ rủi ro, loại rủi ro

Mục kiểm tra, tài liệu có sẵn

Kiến thức của những người thử nghiệm

Thời gian và ngân sách, vòng đời phát triển

Kiểm thử hộp đen luôn được sử dụng vì nó sớm tìm ra lỗi và các kỹ thuật không rõ ràng

Kiểm thử hộp trắng thì đặc biệt dùng cho thử nghiệm mức độ thấp

Kiểm thử dựa trên kinh nghiệm đòi hỏi phải có kinh nghiệm, có thể kiểm tra ngẫu nhiên, được sử dụng cho các ứng dụng có độ tin cậy cao hoặc các vấn đề lặp lại hoặc dự án có yêu cầu không rõ ràng.