12/08/2018, 13:22

Kiểm thử trường hợp dữ liệu sai (không hợp lệ) là gì và làm thế nào để viết các test cases cho cho trường hợp dữ liệu sai?

Có được chất lượng sản phẩm tối ưu nhất là mục đích chính của các tổ chức kiểm thử. Với sự giúp đỡ của một quá trình đảm bảo chất lượng hiệu quả, nhóm kiểm thử cố gắng để tìm ra nhiều khiếm khuyết nhất trong quá trình kiểm thử của họ, do đó chắc chắn rằng khách hàng hoặc người dùng cuối sử dụng sản ...

Có được chất lượng sản phẩm tối ưu nhất là mục đích chính của các tổ chức kiểm thử. Với sự giúp đỡ của một quá trình đảm bảo chất lượng hiệu quả, nhóm kiểm thử cố gắng để tìm ra nhiều khiếm khuyết nhất trong quá trình kiểm thử của họ, do đó chắc chắn rằng khách hàng hoặc người dùng cuối sử dụng sản phẩm sẽ không nhìn thấy bất kì sự bất thường nào về hoạt động của các functions trong môi trường máy tính của họ.

Khi mà việc tìm ra những khiếm khuyết là một trong những mục đích chính của kiểm thử viên, anh ta/cô ta cần thiết kế một cách cẩn thận các kịch bản kiểm thử để chắc chắn rằng riêng ứng dụng hoặc sản phẩm đó hoạt động đúng như đã được yêu cầu.

Trong khi việc xác minh phần mềm thực thi những functions cơ bản của nó như dự định, đánh giá một cách công bằng, việc xác minh phầm mềm có thể xử lí những tình huống bất thường một cách hài hòa thích hợp còn quan trọng hơn. Rõ ràng hầu hết các khiếm khuyết xuất hiện từ việc testers tạo ra những tình huống với sự sáng tạo hợp lí và có thể chấp nhận được. Hầu hết chúng ta đều phần biệt được một số loại kiểm thử như kiểm thử hàm, kiểm thử tính đúng đắn, kiểm thử khói, kiểm thử tích hợp, kiểm thử hồi quy, kiểm thử alpha và beta, kiểm thử khả năng truy cập, etc. Tuy nhiên, mọi người đều đồng ý rằng bất cứ lĩnh vực kiểm thử nào bạn thực hiện, về cơ bản, toàn bộ nỗ lực kiểm thử có thể được khái quát hóa thành hai loại: Luồng kiểm thử những trường hợp dữ liệu đúng và luồng kiểm thử những trường hợp dữ liệu sai.

Hãy tiếp tục với những phần tiếp theo, chúng ta sẽ thảo luận kiểm thử trường hợp dữ liệu đúng và kiểm thử trường hợp dữ liệu sai là gì, chúng khác nhau như thế nào và chúng ta sẽ mô tả một số ví dụ để hiểu những loại nào của kiểm thử các trường hợp dữ liệu sai có thể được thực hiện trong khi kiểm thử một ứng dụng.

Kiểm thử trường hợp dữ liệu đúng và kiểm thử trường hợp dữ liệu sai là gì?

Kiểm thử trường hợp dữ liệu đúng (hợp lệ)

Kiểm thử trường hợp dữ liệu đúng, nhiều khi được ví như “kiểm thử con đường hạnh phúc” nói chung là dạng kiểm thử đầu tiên mà testers sẽ thực hiện trên một ứng dụng. Đó là quá trình chạy các kịch bản kiểm thử mà người dùng cuối sẽ thực hiện trong quá trình anh ta sử dụng. Do đó, như đã được bao hàm, kiểm thử trường hợp dữ liệu đúng đòi hỏi việc chạymột kịch bản kiểm thử với chỉ những dữ liệu đúng và có giá trị. Nếu một kịch bản kiểm thử không cần dữ liệu, kiểm thử trường hợp đúng sẽ yêu cầu chạy chính xác những cách thức, thủ tục kiểm thử mà nó phải chạy và theo đó để đảm bảo ứng dụng thoả mãn những đặc tả yêu cầu. Thỉnh thoảng, có thể có nhiều hơn một cách để thực hiện một function hoặc một nhiệm vụ nào đó nhằm mang lại cho người dùng cuối sự linh động hoặc mang lại tính nhất quán cho sản phẩm chung. Đây gọi là kiểm thử luồng thay thế cái mà cũng là một loại kiểm thử trường hợp dữ liệu đúng. Trong kiểm thử luồng thay thế, việc kiểm thử lại được thực hiện để thỏa mãn những yêu cầu của nó nhưng sử dụng một con đường khác mà không phải là con đường chính. Kich bản kiểm thử thậm chí tiêu tốn cùng loại dữ liệu để đạt được cùng kết quả giống nhau.

Nó có thể được hiểu một cách sơ lược từ một ví dụ chung được mô tả dưới đây:

Negative-and-positve-testing-1.jpg

A là điểm đầu và B là điểm cuối. Có 2 cách để đi từ A đến B. Đường 1 là đường chính, đường 2 là đường thay thế. Vì vậy, trong trường hợp này, kiểm thử trường hợp dữ liệu đúng sẽ đi từ A đến B sử dụng đường 1 và kiểm thử luồng thay thế sẽ đi theo đường 2 từ A đến B. Quan sát rằng kết quả trong cả hai trường hợp là giống nhau.

Kiểm thử trường hợp dữ liệu sai

Kiểm thử trường hợp dữ liệu sai, thông thường được hiểu như kiểm thử luồng bị lỗi hoặc kiểm thử thất bại được thực hiện để đảm bảo tính ổn định của ứng dụng. Kiểm thử trường hợp sai là quá trình sử dụng nhiều sự sáng tạo nhất có thể và kiểm nhận ứng dụng dựa trên dữ liệu không hợp lệ. Điều này có nghĩa là mục đích của nó là để kiểm tra liệu các lỗi có đang được hiển thị tới người dùng hay việc xử lý một giá trị không hợp lệ có hợp lý hơn.

Thực sự cần để hiểu tại sao kiểm thử trường hợp dữ liệu sai là cần thiết

Ứng dụng hoặc sự đảm bảo về các functions của phần mềm có thể được định lượng chỉ với những kịch bản kiểm thử được thiết kế một cách hiệu quả cho các trường hợp dữ liệu sai. Kiểm thử trường hợp dữ liệu sai không chỉ nhằm đưa ra những khiếm khuyết dễ xảy ra(tiềm năng) có thể gây ra những ảnh hưởng nghiêm trọng trên toàn bộ trong quá trình sử dụng sản phẩm, mà còn có thể là công cụ trong việc xác định những điều kiện làm cho ứng dụng bị crash. Cuối cùng, nó chắc chắn rằng có sự xác nhận lỗi đầy đủ hiện diện trong phần mềm.

Ví dụ:

Nói về ví dụ bạn cần viết những ca kiểm thử cho trường hợp dữ liệu sai về một cái bút. Chuyển động cơ bản của một chiếc bút là để viết trên giấy.

Một vài ví dụ về kiểm thử trường hợp dữ liệu sai có thể là:

  • Thay đổi bên trung gian mà hỗ trợ để viết lên, từ giấy thành quần áo hoặc một viên gạch và theo dõi nếu nó vẫn có thể viết bình thường.
  • Đặt chiếc bút vào trong chất lỏng và xác minh liệu nó có thể viết trở lại
  • Thay thế cái ruột bút bằng một cái hết mực và kiểm tra xem nó có viết được.

Những ví dụ thực hành của kiểm thử những trường hợp đúng và những trường hợp sai.

Cửa sổ đầu tiên:

Trong Cửa sổ đầu tiên, người dùng sẽ đưa ra một cái tên cho chính sách như hình dưới đây:

Negative-and-positve-testing-2.jpg

Cũng có những quy tắc làm cơ sở để chắc chắn chúng ta thiết kế những kịch bản tốt cho các trường hợp dữ liệu đúng và trường hợp dữ liệu sai.

Yêu cầu:

  • Trường tên là thông số bắt buộc

  • Trường mô tả là không bắt buộc

  • Ô tên chỉ gồm những kí tự từ a đến z và A-Z. Không cho nhập số hay các kí tự đặc biệt.

  • Tên có thể nhập dài nhất là 10 kí tự.

Bây giờ, hãy thiết kế những ca kiểm thử trong các trường hợp dữ liệu đúng và sai cho ví dụ này.

Các trường hợp kiểm thử dữ liệu đúng: Dưới đây là một số kịch bản kiểm thử đúng cho riêng Cửa sổ này.

  1. ABCDEFGH (xác nhận tính hợp lệ của chữ in hoa trong giới hạn kí tự)
  2. abcdefgh ( xác nhận tính hợp lệ của chữ in thường trong giới hạn kí tự)
  3. aabbccddmn (xác nhận tính hợp lệ về giới hạn kí tự)
  4. aDBcefz (xác nhận tính hợp lệ trong trường hợp chữ hoa kết hợp chữ thường trong giới hạn kí tự)
  5. … và còn nữa

Những trường hợp kiểm thử dữ liệu sai: Dưới đây là một số kịch bản kiểm thử dữ liệu sai cho riêng cửa sổ này.

  1. ABCDEFGHJKIOOOOOKIsns (tên vượt quá 10 kí tự)
  2. abcd1234 (Tên có giá trị số)
  3. không cung cấp tên
  4. sndddwwww_ (tên bao gồm những kí tự đặc biệt)
  5. .. và còn nữa.

Cửa sổ thứ 2:

Trong cửa sổ thứ 2, người dùng chỉ nhập giá trị số như hình dưới đây: Negative-and-positve-testing-3.jpg

Hãy thiết lập một số quy tắc một số quy tắc làm cơ sở ở đây:

Yêu cầu:

  • ID phải là số nằm giữa 1-250

  • ID là bắt buộc

Từ đó, đây là một số kịch bản kiểm thử cho riêng cửa sổ này.

Kịch bản kiểm thử cho dữ liệu đúng: Dưới đây là một số kịch bản kiểm thử đúng cho riêng cửa sổ này.

  1. 12 (nhập giá trị đúng trong khoảng được đặc tả)
  2. 1, 250 (nhập giá trị biên của khoảng được đặc tả)

Kịch bản kiểm thử cho trường hợp dữ liệu sai: Dưới đây là một số kịch bản kiểm thử dữ liệu sai cho riêng cửa sổ này.

  1. Ab (Nhập text thay vì số)
  2. 0, 252 (Nhập những giá trị bên ngoài giá trị biên)
  3. Dữ liệu đầu vào trống
  4. -2 (Nhập dữ liệu ngoài khoảng giá trị)
  5. +56 (Nhập giá trị hợp lệ với tiền tố là kí tự đặc biệt)

Những yếu tố cơ bản hỗ trợ trong việc viết những kịch bản kiểm thử trong trường hợp dữ liệu đúng và dữ liệu sai.

Nếu bạn quan sát một cách cẩn thận những ví dụ trên, bạn sẽ thấy rằng có thể có nhiều kịch bản kiểm thử cho các trường hợp dữ liệu đúng và sai. Tuy nhiên, việc kiểm thử hiệu quả là khi bạn tối ưu hóa một danh sách vô tận những kịch bản kiểm thử dữ liệu đúng và sai theo một cách mà bạn đạt được quá trình kiểm thử đầy đủ.

Trong tất cả những trường hợp này bạn sẽ nhìn thấy một khuôn mẫu chung về làm thế nào các kịch bản kiểm thử được nghĩ ra. Trong các trường hợp trên, có hai thông số hoặc phương pháp cơ bản hình thành một nền tảng cho việc thiết kế một lượng đủ các trường hợp kiểm thử dữ liệu đúng và sai.

Hai thông số là:

  • Sự phân tích giá trị biên
  • Phân vùng tương đương

** Sự phân tích giá trị biên:**

Như ý nghĩa được bao hàm trong chính tên gọi của nó, biên biểu thị giới hạn về một thứ gì đó. Do đó, thông số này bao gồm việc thiết kế các kịch bản kiểm thử cái mà chỉ tập trung vào các giá trị biên và xác nhận ứng dụng vận hành như thế nào. Vì vậy, nếu giá trị đầu vào được cung cấp nằm trong những giá trị biên, sau đó nó được xem xét như là kiểm thử dữ liệu đúng và giá trị đầu vào vượt quá những giá trị biên được xem xét như một phần của kiểm thử dữ liệu sai.

Ví dụ, nếu một ứng dụng chấp nhận những ids VLAN trong khoảng từ 0-255. Theo đó, ở đây, 0, 255 sẽ hình thành những giá trị biên. Bất kì giá trị đầu vào nào nằm dưới 0 hoặc trên 255 sẽ được xem xét là không hợp lệ và do đó sẽ tạo thành kiểm thử dữ liệu sai/ không hợp lệ.

Negative-and-positve-testing-4.jpg

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

Trong phân vùng tương đương, dữ liệu kiểm thử được tách ra thành các phần khác nhau. Những phần này được ám chỉ như các lớp dữ liệu tương đương. Giả sử rằng dữ liệu đầu vào khác nhau (dữ liệu có thể là một điều kiện) trong mỗi phần dữ liệu vận hành theo cùng một cách. Do đó, chỉ một điều kiện hoặc tình huống riêng cần được kiểm thử từ mỗi phần, nếu một điều kiện hoạt động, tất cả những điều kiện khác trong phần đó được cho rằng sẽ hoạt động. Tương tự, nếu một điều kiện trong một phần không làm việc, sau đó không có cái nào sẽ chạy được.

Vì vậy, hiển nhiên rằng các lớp dữ liệu hợp lệ (trong các phần) sẽ bao gồm trong kiểm thử dữ liệu đúng trong khi các lớp dữ liệu không hợp lệ sẽ bao gồm trong kiểm thử dữ liệu sai.

Trong cùng ví dụ mạng VLAN ở trên, các giá trị có thể được chia thành hai phần.

Vậy, hai phần ở đây sẽ là:

Các giá trị -255 đến -1 trong một phần Các giá trị 0 đến 255 trong một vùng phần

Negative-and-positve-testing-5.jpg

Kết luận

Một vài lần, tôi đã đối mặt với tình huống khi mà con người tin tưởng rằng việc kiểm thử các dữ liệu sai là nhiều hơn hay ít hơn một bản sao của kiểm thử dữ liệu đúng hơn là tin tưởng vào sự thật là nó chứng minh cho kiểm thử dữ liệu đúng. Vị trí của tôi trong những câu hỏi này luôn kiên định là một kiểm thử viên. Những người hiểu và cố gắng vì chất lượng và những tiêu chuẩn cao sẽ không nghi ngờ gì mà buộc kiểm thử dữ liệu sai như một việc phải làm trong quá trình đảm bảo chất lượng.

Trong khi kiểm thử dữ liệu đúng đảm bảo rằng trường hợp sử dụng trong doanh nghiệp được xác nhận hợp lệ, kiểm thử dữ liệu sai đảm bảo rằng phần mềm được chuyển giao không có những khiếm khuyết cái mà có thể là một sự cản trở trong trong quá trình sử dụng bởi khách hàng.

Việc thiết kế tỉ mỉ và mạnh mẽ các kịch bản kiểm thử dữ liệu sai yêu cầu sự sáng tạo, tầm nhìn xa, kĩ năng và sự thông minh của kiểm thử viên. Hầu hết những kĩ năng này có thể được yêu cầu kinh nghiệm, vậy hãy kiên trì và duy trì sự đánh giá đầy đủ thời gian tiềm năng của bạn lặp đi lặp lại!

0