Tạo vertical testcase bằng tool PictMaster

Việc tạo một bộ testcase (TC) chất lượng là rất quan trọng, bởi vì nó ảnh hưởng trực tiếp đến chất lượng của cả đợt test. Chúng ta cần tạo số lượng TC ít nhất có thể nhưng vẫn phải đảm bảo tìm được những khuyết điểm của chương trình một cách hiệu quả nhất. Ở đây tôi xin giới thiệu với các bạn một tool tạo TC hàng dọc tự động, giúp các bạn có thể tạo được một bộ TC với số lượng TC hợp lý mà vẫn không bị sót trường hợp test, có tên là PictMaster (PictMaster.xlsm). (Pairwise Independent Combinatorial Testing tool)

Dưới đây là link download tool này.

Bản tiếng Anh: (Latest version: 5.7.3)

http://sourceforge.jp/projects/pictmaster/downloads/60005/PictMaster 5.7.3E.zip/

Bản tiếng Nhật: (Latest version: 6.0)

http://sourceforge.jp/projects/pictmaster/downloads/62206/PictMaster 6.0J.zip/

  1. Cài đặt môi trường

1.1 Install pict33.msi

Đây là một tool viết bằng excel macro. Để sử dụng được tool này, các bạn cần install pict33.msi vào máy tính của mình.

Download link

download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi

Các bước intall như sau.

1-300x233.png

2-300x233.png

3-300x233.png

4-300x233.png

5-300x233.png

6-300x233.png

1.2 Thiết lập cho phép sử dụng nội dung macro

Do PictMaster.xlsm sử dụng macro nên khi mở file, bạn sẽ thấy có cảnh báo security. Bạn cần thiết lập excel để có thể sử dụng được macro.

7-300x161.png

Cách 1: Click vào message cảnh báo và thiết lập cho phép sử dụng macro

8-300x168.png

Cách 2: Set folder chứa file PictMaster.xlsm là nơi trustworthy, khi mở file PictMaster.xlsm sẽ không hiển thị cảnh báo security nữa.

52-300x168.png

  1. Cách sử dụng tool PictMaster.xlsm

2.1 Cấu trúc file

2.1.1 Sheet1:

12-300x161.png

①パラメータ(Parameter): Thông tin về các parameter sẽ kiểm tra. Khi thực hiện chạy tạo TC, các giá trị này sẽ được nhập tự động để người review TC hay người test có thể nắm được TC này check những parameter nào.

②値の並び(Thứ tự các giá trị cần test): Thông tin các giá trị cần kiểm tra. Khi thực hiện chạy tạo TC, các giá trị này sẽ được nhập tự động để người review TC hay người test có thể nắm được tương ứng với mỗi parameter sẽ check với những giá trị nào. Ví dụ: Paper Size cần check các giá trị như A3, A4, B4, B5, Orientation cần check các giá trị như Landscape, Portrait, Rotate180degree.

③実行(Execute): Chạy tạo TC tự động từ các parameter và value đã input vào.

④整形(Pre-format): Thực hiện chỉnh sửa format của TC sau khi đã tạo tự động xong TC.

⑤環境設定(Environment Setting): Thiết lập môi trường để tạo testcase.

Chi tiết của từng chức năng, bạn có thể tham khảo ở link sau.

http://sourceforge.jp/projects/pictmaster/docs/UserManual2.2/ja/1/UserManual2.2.pdf

21-300x168.png

自動整形を実行(thực hiện chỉnh sửa format tự động): Nếu ON chức năng này, khi tạo testcase, chương trình sẽ đồng thời thực hiện chỉnh sửa format tự động, giúp tester dễ đọc testcase hơn.

Ví dụ như ở image dưới đây, trong trường hợp thực hiện chỉnh sửa tự động, các TC tạo ra trong trường hợp Page Size A3 = ON sẽ tập trung từ TC1 ~ TC4, còn trong trường hợp không thực hiện chỉnh sửa tự động, các TC tạo ra trong trường hợp Page Size A3 = ON sẽ rải rác ở TC2, TC6, TC8, TC15.

Testcase tạo ra khi OFF chức năng 自動整形を実行

32-300x168.png

Testcase tạo ra khi ON chức năng 自動整形を実行

43-300x168.png

組み合わせるパラメータ数: Thiết lập số parameter sẽ thực hiện combine với nhau. Việc thiết lập con số này là bao nhiêu là rất quan trọng, vì con số này càng cao thì số testcase tạo ra sẽ càng nhiều. Chúng ta cần phải thiết lập con số hợp lý để vừa tiết kiệm được thời gian, nhân lực, tiền bạc cho việc test mà vẫn phải đảm bảo chất lượng test.

Ví dự như ở image dưới đây, có 4 parameter Page Size, Print Orientation, Print on Both Sides, Color Mode. Số kết hợp parameter càng thấp thì số TC được tạo ra càng ít.

組み合わせるパラメータ数 = 1 ⇒  sẽ tạo ra 5CL.

組み合わせるパラメータ数 = 2 ⇒  sẽ tạo ra 16CL.

組み合わせるパラメータ数 = 3 ⇒  sẽ tạo ra 30CL.

組み合わせるパラメータ数 = 4 ⇒  sẽ tạo ra 60CL.

Testcase tạo ra khi thiết lập 組み合わせるパラメータ数 = 1

15-300x168.png

Testcase tạo ra khi thiết lập 組み合わせるパラメータ数 = 2

13-300x168.png

Testcase tạo ra khi thiết lập 組み合わせるパラメータ数 = 3

14-300x168.png

Testcase tạo ra khi thiết lập 組み合わせるパラメータ数 = 4

16-300x168.png

⑥フォーム表示(Form Display): Hiển thị các button ở thanh công cụ riêng để tiện cho user sử dụng.

11-300x168.png

2.1.2 Sheet shift_format

Đây là sheet nhập parameter và value tương ứng. Cách nhập vào tham khảo image sau

61-300x168.png

2.2 Các bước tạo TC

Step1: Nhập parameter và value tương ứng vào sheet shift_format như dưới đây

81-300x168.png

Step2: Ấn button 実行

Khi đó tool sẽ thực hiện những việc sau:

  • Các thông tin parameter và giá trị sẽ check sẽ được nhập tự động vào sheet 1

Ví dụ đối với chức năng in sẽ có các parameter như: Paper Size, Orientation , Dualsideprint, ColorMode.

Với parameter Page Size sẽ có các giá trị cần test như A3, A4, B3, B4

17-300x159.png

  • Testcase sẽ được tạo tự động vào sheet shift_format.

Ở ví dụ dưới đây, tool đã tạo tự động 16CL.

9-300x168.png

  • 2 file a.txt và a.xls là 2 file note lại kết quả kết hợp parameter được tạo ra.

10-300x168.png

111-300x168.png

121-300x168.png

2.3 Sử dụng PictMaster trong một số trường hợp tạo testcase cụ thể

Thực hành 1:

Đề bài: Một khu vui chơi thực hiện chương trình giảm giá cho đối tượng học sinh. Tỷ lệ giảm giá cho học sinh nam và nữ là khác nhau. Ngoài ra, giá vé dành cho người lớn và trẻ con là khác nhau.

Hãy tao CL để kiểm tra máy bán vé vào cửa xem tính tiền vé có đúng không.

Các bước thực hiện:

  1. Đọc kỹ yêu cầu điều kiện và list ra những thành tố cần tính đến.

Ví dụ như ở đề bài trên đây, ta cần tính đến những yếu tố sau đây.

+Sex: 1. Male, 2. Female

  • Occupation: 1. Pupil, 2. Not pupil

  • Old: 1. Adult, 2. Not adult

181-300x159.png

  1. Thiết lập số patern sẽ kết hợp

Bây giờ ta sẽ thử thiết lập kết hợp 2 patern thì sẽ tạo 4 CL như sau:

191-300x184.png

Ở đây có 4 trường hợp check là:

1 Female + Not pupil + Not adult

2 Female + Pupil + Adult

3 Male + Not pupil + Adult

4 Male + Pupil + Not adult

Với 4 trường hợp trên đây thì ta sẽ thấy còn thiếu trường hợp chưa được test. ví dụ như Female + Pupil + Not adult. Như vậy việc thiết lập số patern kết hợp = 2 là chưa đầy đủ các trường hợp test.

Vì vậy chúng ta sẽ thiết kết hợp 3 patern và cần test 8 CL như dưới đây.

1 Female + Not pupil + Adult

2 Female + Not pupil + Not adult

3 Female + Pupil + Adult

4 Female + Pupil + Not adult

5 Male + Not pupil + Adult

6 Male + Not pupil + Not adult

7 Male + Pupil + Adult

8 Male + Pupil + Not adult

20-300x159.png

  1. Kiểm tra lại testcase đã được tạo ra và điền nội dung cần xác nhận xuống dưới tương ứng với từng trường hợp vừa tạo ra.

211-300x159.png

Đến đây chúng ta đã hoàn thành tạo TC để kiểm tra máy vé xem giá vé có đúng hay không.

Thực hành 2:

Đề bài:

Spec như sau:

  1. Trường hợp có thẻ vàng thì sẽ được giảm 10 000 yen

  2. Trường hợp không có thẻ vàng, nhưng từ 30 tuổi trở lên thì được giảm 3000 yen

  3. Không thảo mãn 2 điều kiện trên tuy nhiên từ 20 tuổi trở lên thì được giảm 2000 yen

  4. Dù thỏa mãn các điều kiện 1~3, tuy nhiên sẽ không nhận cộng gộp mức giảm

  5. Tuần tự ưu tiên áp dụng các điều kiện giảm giá thì sẽ theo thứ tự 1 > 2 > 3

Chú ý: Điều kiện để đạt được thẻ vàng là kể từ ngày được nhận thẻ, trong vòng 5 năm liền không gây ra tai nạn không có vi phạm nào.

  1. Đọc kỹ yêu cầu điều kiện và list ra những thành tố cần tính đến.

Ở đây ta cần tính đến

  • License 1. Gold license 2. Not gold license

  • Age: 1. 30 years old 2. 29 years old 3. 20 years old 4. 19 years old

Nếu là gold license -> giảm 10000 yên

Nếu không la gold license: <= 19 tuổi -> không giảm

20<= tuổi <= 29 -> giảm 2000

tuổi >= 30 -> giảm 3000

  1. Thiết lập số patern sẽ kết hợp

Ở đây có 2 patern là license và Age nên ta sẽ thiết lập số patern sẽ kết hợp = 2

Chúng ta sẽ tạo được 8 TC như dưới đây.

221-300x159.png

1 Gold license + 19 years old

2 Gold license + 20 years old

3 Gold license + 29 years old

4 Gold license + 30 years old

5 Not license + 19 years old

6 Not license + 20 years old

7 Not license + 29 years old

8 Not license + 30 years old

  1. Kiểm tra lại testcase đã được tạo ra và điền nội dung cần xác nhận xuống dưới tương ứng với từng trường hợp vừa tạo ra.

Ở đây ta thấy có 2 trường hợp vô lý là Gold license + 19 years old và Gold license + 20 years old. Lý do là phải tư 16 tuổi trở lên mới được cấp thẻ.

Đến khi lấy được thẻ vàng thì họ phải có 5 năm không gây tai nạn, không vi phạm, tức là tối thiểu họ phải 21 tuổi. Ở đây ta sẽ bôi đen 2 CL này đi, và số TC cần thực hiện là 6 TC.

231-300x159.png

241-300x159.png

Trên đây mình đã trình bày các bước cần thiết để tạo vertical testcase.

Hi vọng trong trường hợp cần phải tạo testcase có kết hợp nhiều điều kiện với nhau (Ví dụ check login: email sai passwork đúng, email đúng password sai, hoặc check chức năng in: khổ giấy A3 in ngang, khổ giấy A4 in dọc), các bạn sẽ tận dụng PictMaster.xlsm để không cần mất nhiều thời gian mà vẫn có thể tạo testcase chất lượng nhất.