Tính số test case cần thiết cho chương trình bán vé máy • testingvn.com


Thông báo về việc đăng ký mới thành viên: Sau khi đăng ký thành viên xong, các bạn vui lòng Thông báo cho Quản Trị Viên theo link này
để Quản Trị Viên sẽ kích hoạt tài khoản cho các bạn nhé. Xin lỗi vì sự bất tiện này.

Tính số test case cần thiết cho chương trình bán vé máy

Tất cả các câu hỏi liên quan đến test case

Tính số test case cần thiết cho chương trình bán vé máy

Postby Hoang_Sai » Mon 17 Nov, 2014 12:35 pm

Em có một bài toán tính số testcase như thế này mà ko biết cách làm, mong mọi người chỉ giúp em:
Bài toán yêu cầu tính toán tỉ lệ chiết khấu cho khách mua vé máy bay.
Input gồm:
    - Tuổi hành khách (5-120)
    - Ngày bay >= ngày hiện tại
    - Thành phần cá nhân (VIP, bình thường)

Điều kiện giảm giá:
    - Giảm giá cho những hành khách <=15 tuổi hoặc >= 65 tuổi là 50%.
    - Giảm giá cho những hành khách đặt vé trước một tháng là 20%.
    - Áp dụng cho những hành khách đạt 1 trong 2 tiêu chí trên. Giảm giá cho khách VIP là 10%.

Tính số testcase basic phải kiểm thử cho bài toán này.
Hoang_Sai
 
Posts: 1
Joined: Mon 17 Nov, 2014 12:27 pm

Re: Tính số test case cần thiết cho chương trình bán vé máy

Postby tvn » Wed 19 Nov, 2014 8:21 am

Đây là ý kiến của một bạn trên group chat

Thuy Tien - Tp.HCM wrote:Vì ko hỏi case valid data input, chi hỏi tỉ lệ chiết khấu cho khách mua vé máy bay

Check tỉ lệ chiết khấu cho khách mua vé máy bay(Giảm giá):

Vì có 3 LOẠI giảm giá (10%,20%,50%), và 1 LOẠI giảm giá có 2 ngưỡng đạt giám giá hoặc ko đạt giảm giá (Tuổi: trong 15<= tuổi <= 65 hoặc ngoài; Đặt vé > 1 tháng hoặc < 1 tháng; ViP hoặc không VIP )
nên sẽ có: 2*2*2 = 8 cases
    Check giảm giá 0 %: (Tuoi > 15 hoặc < 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân = Bình thường)
    Check giảm giá 10 %: (Tuoi > 15 hoặc < 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân = VIP)
    Check giảm giám 20 %: (Tuoi > 15 hoặc < 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân = Bình thường)
    Check giảm giám 30 %: (Tuoi > 15 hoặc < 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân = VIP)
    Check giảm giá 50 %: (Tuoi <= 15 hoặc >= 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= bình thường)
    Check giảm giá 60 %: (Tuoi <= 15 hoặc >= 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= VIP)
    Check giảm giá 70 %: (Tuoi <= 15 hoặc >= 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= Bình thường)
    Check giảm giá 80 % : (Tuoi <= 15 hoặc >= 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= VIP)
tvn
 
Posts: 4681
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM

Re: Tính số test case cần thiết cho chương trình bán vé máy

Postby tvn » Wed 19 Nov, 2014 8:23 am

Bạn khác có câu hỏi về cái gọi là "một tháng" và đưa ra giải đáp của mình như sau

hakunabr0 wrote:Về phần ngày đặt vé trước một tháng, vậy mấy tháng có 28/29/30/31 ngày sẽ tính ra sao?
Mình sẽ lấy số ngày bình quân hay theo từng tháng?


    < 5 + > 120 - 1
    5 -> 15 + 50% - 2 normal
    5 -> 15 + 50% + 20% - 3 dat ve thang truoc
    5 -> 15 + 50% + 10% - 4 VIP
    5 -> 15 + 50% + 20% + 10% - 5 dat ve thang truoc + VIP

    15 -> 65 - 6 normal
    15 -> 65 + 20% - 7 dat ve thang truoc
    15 -> 65 + 20% + 10% - 8 dat ve thang truoc + VIP

    65 -> 120 + 50% - 9 normal
    65 -> 120 + 50% + 20% - 10 dat ve thang truoc
    65 -> 120 + 50% + 10% - 11 VIP
    65 -> 120 + 50% + 20% + 10% - 12 dat ve thang truoc + VIP
tvn
 
Posts: 4681
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM

Re: Tính số test case cần thiết cho chương trình bán vé máy

Postby tvn » Wed 19 Nov, 2014 8:26 am

Một ý kiến khác nữa của Đông - ĐN

Đông - ĐN wrote:Mình dã có dap án, gởi cho các bạn chém chơi
Case1: Check giảm giá 0 %: (15 < Tuoi < 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân = Bình thường)
Case2: Check giảm giá 10 %: (15 < Tuoi < 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân = VIP)
Case3: Check giảm giám 20 %: (15 < Tuoi < 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân = Bình thường)
Case4: Check giảm giám 20 %: (15 < Tuoi < 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân = VIP)
Case5: Check giảm giá 50 %: (Tuoi <= 15) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= bình thường)
Case6: Check giảm giá 50 %: (Tuoi <= 15) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= VIP)
Case7: Check giảm giá 50 %: (Tuoi <= 15) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= Bình thường)
Case8: Check giảm giá 50 % : (Tuoi <= 15) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= VIP)
Case9: Check giảm giá 50 %: (Tuoi >= 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= bình thường)
Case10: Check giảm giá 50 %: (Tuoi >= 65 tuổi) and (Ngày đặt vé - current date < 1 thang) and (Thành phần cá nhân= VIP)
Case11: Check giảm giá 50 %: (Tuoi >= 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= Bình thường)
Case12: Check giảm giá 50 % : (Tuoi >= 65 tuổi) and (Ngày đặt vé - current date > 1 thang) and (Thành phần cá nhân= VIP)
tvn
 
Posts: 4681
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM

Re: Tính số test case cần thiết cho chương trình bán vé máy

Postby tvn » Wed 19 Nov, 2014 8:58 am

Hoang_Sai wrote:Em có một bài toán tính số testcase như thế này mà ko biết cách làm, mong mọi người chỉ giúp em:
Bài toán yêu cầu tính toán tỉ lệ chiết khấu cho khách mua vé máy bay.
Input gồm:
    - Tuổi hành khách (5-120)
    - Ngày bay >= ngày hiện tại
    - Thành phần cá nhân (VIP, bình thường)

Điều kiện giảm giá:
    - Giảm giá cho những hành khách <=15 tuổi hoặc >= 65 tuổi là 50%.
    - Giảm giá cho những hành khách đặt vé trước một tháng là 20%.
    - Áp dụng cho những hành khách đạt 1 trong 2 tiêu chí trên. Giảm giá cho khách VIP là 10%.

Tính số testcase basic phải kiểm thử cho bài toán này.


Trước khi trả lời câu hỏi này, mình sẽ hỏi lại người ra đề (người hỏi mình bài tập này) một số câu hỏi như sau:
    1. Có được phép áp dụng nhiều điều kiện giảm giá cùng lúc không? Ví dụ: Khách hàng A 65 tuổi và đặt vé trước 1 tháng rưỡi và ông ta là khách VIP. Trường hợp này sẽ được giảm bao nhiêu %
    2. "Trước một tháng" là dựa vào 30 ngày hay là so với "ngày này tháng trước" nghĩa là cùng ngày mà khác tháng.
Sau khi có câu trả lời, thì nó sẽ quyết định "kết quả mong đợi của một số test case.

Đây là cách mình tính dựa vào phân vùng tương đươngphân tích giá trị biên

Input 1:
--------------5--------------15---------------------64------------120-------------
---invalid----|----50%------|----bình thường-----|----50%------|---invalid--

Các giá trị cần test: 8
    + 4 tuổi => invalid (báo lỗi tuổi không hợp lệ)
    + 5 tuổi => giảm 50%
    + 15 tuổi => giảm 50%
    + 16 tuổi => không giảm
    + 64 tuổi => không giảm
    + 65 tuổi => giảm 50%
    + 120 tuổi => giảm 50%
    + 121 tuổi => invalid

Input 2:
---------------trước 0 ngày---------trước 1 tháng------
---invalid----|-----bình thường----|--20%---------

Các giá trị cần test: 5
Giả sử:
    + Ngày hiện tại là 19-11-2014
    + Ngày hiện tại là ngày mua vé (tính toán giảm giá ngay lúc mua)
Vậy mình có những case sau:
    + ngày bay: 18-11 => không hợp lệ (< ngày hiện tại)
    + ngày bay: 19-11 => không giảm giá (= ngày hiện tại)
    + ngày bay: 18-12 => không giảm giá (mua trước < 1 tháng)
    + ngày bay: 19-12 => 20% (mua trước = 1 tháng)
    + ngày bay: 20-12 => 20% (mua trước > 1 tháng)

Input 3: 2
    + Khách Thường => không giảm
    + Khách VIP => giảm thêm 10%

Dựa vào pairwise mình có 8 x 5 = 40 case cần test.

Đây là trả lời cho câu hỏi dựa vào các kỹ thuật thiết kế test case (lý thuyết).
Trên thực tế mình có thể dựa vào các giá trị trên để pair mà không cần phải sử dụng order-2 => số test case thực sự được test sẽ ít hơn.
tvn
 
Posts: 4681
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM


Re: Tính số test case cần thiết cho chương trình bán vé máy

Postby tvn » Sun 12 Jul, 2015 10:26 pm

lethimai wrote:anh ơi a có thể giải thích cho em tại sao lại là 8x5 testcase k ạ :D


Được nhưng mà hơi mất thời gian vì nó lằng nhằng mà giờ anh đang bận, hôm nào anh sẽ post bài pairwise testing để giải thích rõ hơn nha.
tvn
 
Posts: 4681
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM



Return to Test cases - Tập hợp các trường hợp kiểm thử

Who is online

Users browsing this forum: No registered users and 2 guests