Black Box Testing

Blog này mình viết ra để note lại những kiến thức mình research về Black Box Testing, cũng như muốn rèn luyện khả năng trình bày. Rất mong các bạn góp ý để mình có thể trao đổi và cũng cố kiến thức với nhau nhé.

Nhân duyên  vì sao mình lại chọn chủ đề này vì bởi mình đã làm tester được 18 tháng. Bỗng một ngày đẹp trời, tự dưng đặt câu hỏi là mình làm về nó nhưng thực sự đã biết nó như thế nào chưa? Câu hỏi đó khiến mình muốn tìm hiểu 1 trong những phương pháp kiểm thử phần mềm phổ biến nhất. Đó là Black Box  Testing.

Nội dung mình muốn trình bày sẽ gồm những phần sau đây:

  1. Nó là gì?
  2. Lợi ích và bất lợi khi dùng phương pháp này
  3. Một số techniques của Black Box Testing (BBT) hay dùng trong dự án thực tế

Nào chúng ta hãy tìm hiểu phần 1, xem nó là cái gì nhé.

  1. Nó là gì?

    1.Definition
    Như hình vẽ trên, bạn nhìn thấy là 1 hộp màu đen, bạn không thể nhìn thấy bên trong là gì, không biết có gì trong đó. Giống như đôi mắt của tester, tuy không thể biết trong nó là gì nhưng dựa vào nó thì có thể tìm ra được lỗi. Nó còn được biết với tên gọi là Behaviour Testing. Vì nó dựa hoàn toàn vào yêu cầu và mô tả chức năng của phần mềm để thực hiện.

  2. Lợi ích và bất lợi khi dùng phương pháp này

    1. Lợi ích

      Vì nó dựa hoàn toàn vào yêu cầu và mô tả chức năng của phần mềm để thực hiện nên nó có những lợi ích như sau:

      • Test được thực hiện từ góc nhìn của user hoặc là tester nên có thể dùng phần mềm khách quan từ quan điểm của 1 end user.
      • Dẫn tới là tránh được sự ngộ nhận hoăc thiếu sót từ developer.
      • Không cần biết ngôn ngữ lập trình hoặc cách mà phần mềm thực hiện như thế nào.
      • Có thể viết test case và test được sớm khi requirement hoàn thiện.
    2. Bất lợi

      Do nó dựa hoàn toàn vào yêu cầu và mô tả chức năng của phần mềm để thực hiện nên nó có những bất lợi như sau:

      • Nếu requirement không rõ ràng thì có thể design test case bị sai hoặc rất khó để design test case.
      • Chỉ có thể test trên 1 số lượng data nên sẽ không cover hết tất cả các trường hợp.
  3. Một số techniques của BBT hay dùng trong dự án thực tế

    1. Boundary Value Analyst (BVA)

      2.BVA
      Technique dựa vào 1 thống kê đó là lỗi (Faults) thường xuất hiện ở những vùng biên của dữ liệu. Do vậy, nếu ta test những giá trị tại vùng này thì có thể tìm ra lỗi. Nói cách khác ta chỉ cần test trên 2 giá trị tại 2 bên biên. Như trong hình bạn có thể thấy có 2 vùng giá trị. Teachnique qui định chỉ cần lấy giá trị chấm bi vàng và chấm bi hồng để làm test data.Một ví dụ khác, bạn có 1 textbox cho phép nhập tuổi của user. Yêu cầu qui định giá trị hợp lệ trong khoảng từ 1 đến 100.
      3.BVA
      Trong ví dụ này, ta có thể thấy ta có 2 biên: Là cận dưới = 1 và cận trên = 100. Do đó ta có 4 giá trị cần kiểm tra đó là:

      Min value -1 0
      Min value 1
      Max value 100
      Max value + 1 101
    2. Equivalence Partitioning (EP)

      Nó giúp cắt giảm 1 số lượng lớn input có khả năng xảy ra thành 1 bộ input data nhỏ nhưng hiệu quả hơn. Nó chia input data thành các class và chỉ lấy 1 giá trị đại diện để test cho mỗi class.  Vì nó giả định nếu 1 cái work đúng thì tất cả giá tri trong cùng lớp đó sẽ work đúng.Lấy ví dụ tương tư như BVA , nhưng với EP ta sẽ chỉ có 3 phân vùng (partition) như sau:
      4.EP
      Do đó ta có 3 giá trị cần kiểm tra đó là:

      Partition Value
      Parition 1 < 1
      Partition 2 1 – 100
      Partition 3 > 100

      Một ví dụ thực tế với dự án mà mình đang work. Đó là bạn có 1 yêu cầu nhập 1 description trên 1 textbox với qui đinh là từ 1 tới không quá 400 kí tự.

      Áp dụng cả 2 techniques ta sẽ có 1 bộ test case như sau:
      6.BVA+EP

Phần trên mình đã trình bày khái quát về BBT là gì, những lợi ích và bất lợi khi dùng, cũng như 2 techniques phổ hiến được áp dụng thường xuyên trong các dự án thực tế. Trong phần tiếp theo của Blog mình sẽ trình bày 2 techniques cũng thường xuyên được áp dụng đó là Decision Table và State Transition.

 

Published by Nguyen Quoc Dung

"If you only do what you can do You never be more than you are now"

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: