ეკვივალენტური დაყოფა

ეკვივალენტური დაყოფის მიზანი

ეკვივალენტური დაყოფის მიზანია, რომ შეიქმნას ტესტ ქეისების პაკეტი, რომელიც დაფარავს გასატესტი ობიექტის შემავალ და გამავალ დანაყოფებს ეკვივალენტური დაყოფის დაფარვის შერჩეული დაფარვის დონით. ეკვივალენტური დაყოფა დაფუძნებულია სტრუქტურაზე, რომელშიც გასატესტი ობიექტის შემავალი და გამომავალი მნიშვნელობები დაყოფილია კლასებად მოთხოვნებიდან გამომდინარე. თითოეული კლასი აღქმულია ისევე, როგორც გასატესტი ობიექტი. შესაბამისად ერთ ეკვივალენტურ დანაყოფში ნებისმიერი მნიშვნელობის ტესტირების შედეგი შეგვიძლია ჩავთვალოთ ამ დანაყოფის ნებისმიერი მნიშვნელობის ტესტირების შედგად.

ეკვივალენტური დაყოფის აღწერა

ეკვივალენტური დაყოფა 1 იყენებს მოდელს, რომელიც გასატესტ ობიექტს ყოფს შემავალი და გამავალ მნიშვნელობების შესაბამის ნაწილებად; მოიხსენიებენ როგორც "დანაყოფებს (partitions)" ან "ეკვივალენტურ კლასებს (equivalence classes)". თითოეული დანაყოფი განსაზღვრავს გასატესტ პირობას და მოველით, რომ ყოველ დანაყოფში არსებულ ნებისმიერ მნიშვნელობის გამოყენებისას სისტემის ქცევა იდენტურია (თითოეული მათგანი ერთმანეთის შესაბამისი, ანუ ეკვივალენტურია). ეკვივალენტური დანაყოფები განისაზღვრება, როგორც ვალიდური ის ალავალიდური შემავალი და გამავალი მნიშვნელობებისთვის.

სატესტო ობიექტის დანაწევრება შესაძლებელია, როგორც რიცხვითი ისე ანბანური მნიშვნელობებით; ანბანური მნიშვნელობები თავის მხრივ შესაძლოა დაიყოს მაღალი და დაბალი რეგისტრის სიმბოლოებად, სპეციალურ სიმბოლოებად და ა.შ. რაც დამოკიდებულია ტესტირების საჭიროებაზე.

ეკვივალენტური დაყოფის მაგალითი

ქვემოთ განხილულია ეკვივალენტური დაყოფის მაგალითი, რომელიც მომზადებულია პროგრამული უზრუნველყოფის ტესტირების სტანდარტის 2 დოკუმენტში აღწერილი პროცესის შესაბამისად.

სტანდარტი ამ პროცესს შემდეგ ნაბიჯებად განსაზღვრავს:

  1. ფუნქციური ნაკრების იდენტიფიკაცია ტესტირებისათვის.
  2. სატესტო პირობების განსაზღვრა.
  3. ტესტირების დაფარვის ობიექტების განსაზღვრა.
  4. ტესტ ქეისების განსაზღვრა.

გასატეტი ობიექტის მახასიათებლები

განვიხილოთ გასატესტი ობიექტი „შეფასების გენერატორი“ შემდეგი მახასიათებლებით:

კომპონენტი იღებს გამოცდის შედეგს (მაქსიმალური მნიშვნელობა: 75) და საკურსო ნამუშევრის (ს.ნ.) შეფასებას (მაქსიმალური მნიშვნელობა: 25), როგორც შემავალ მნიშვნელობას. კომპონენტი გამომავალ მნიშვნელობად განსაზღვრავს შეფასებას "A"-დან "D"-მდე. შეფასება დაგენერირებულია მთლიანი ქულის დათვლის შედეგად, რომელიც აჯამებს გამოცდისა და ს.ნ.-ის ქულას შემდეგნაირად:

თუ დაფიქსირებულია არავალიდური შემავალი მნიშვნელობა (მაგ.: ქულა მოსალოდნელ დიაპაზონს გარეთაა), მაშინ შეცდომის შეტყობინება (შ.შ.) გენერირდება. ყველა შემავალი მნიშვნელობა არის მთელი რიცხვი.

1-ლი ნაბიჯი: ფუნქციური ნაკრების იდენტიფიკაცია (Feature sets - FS)

მოთხოვნებში მხოლოდ ერთი გასატესტი ობიექტია განსაზღვრული, მხოლოდ ერთი ფუნქციაა, რომელსაც ჭირდება განსაზღვრა:

მე-2 ნაბიჯი: სატესტო პირობების განსაზღვრა

ეკვივვალენტურ დაყოფაში, ეკვივალენტური დანაყოფები არის ტესტირების პირობები (Test conditions - TCOND). ეკვივალენტური დანაყოფები იდენტიფიცირდება, როგორც შემავალი, ისე გამავალი მნიშვნელობებით. ვალიდური და არავალიდური შემავალი და გამავალი მნიშვნელობები მხედველობაშია მიღებული.

დანაყოფი ორი შემავალი მნიშვნელობისთვის არის განსაზღვრული. ვალიდური დანაყოფები შეიძლება აღიწეროს შემდეგნაირად:

ტესტირების პირობა ეკვივალენტური დანაყოფი ფუნქციური ნაკრები
TCOND1: 0 <= გამოცდის ქულა <= 75 FS1
TCOND2: 0 <= ს.ნ.-ის ქულა <= 25 FS1

ყველაზე თვალსაჩინო არავალიდური დანაყოფები გამომდინარეობს შემავალი მნიშვნელობებიდან და შეიძლება აღიწეროს შემდეგნაირად:

ტესტირების პირობა ეკვივალენტური დანაყოფი ფუნქციური ნაკრები
TCOND3: გამოცდის ქულა < 0 FS1
TCOND4: გამოცდის ქულა > 75 FS1
TCOND5: ს.ნ.-ის ქულა < 0 FS1
TCOND6: ს.ნ.-ის ქულა > 25 FS1

მნიშვნელობების დაყოფილი დიაპაზონები შეიძლება წარმოდგენილი იყოს ილუსტრაციის სახით. შესაბამისად, შემავალი მნიშვნელობისთვის, გამოცდის ქულისთვის ჩვენ ვიღებთ ასეთ სურათს:

ხოლო შემავალი მნიშვნელობისთვის, ს.ნ.-ის ქულისთვის ჩვენ ვიღებთ ასეთ სურათს:

ნაკლებ სავარაუდო არავალიდური შემავალი მნიშვნელობის დანაყოფები შესაძლოა მოიცავდეს სხვა მონაცემის ტიპებს, მაგალითად არარიცხვითი მნიშვნელობები. ასე, რომ შეგვიძლია შევადგინოთ შემდეგი ეკვივალენტური დანაყოფები:

ტესტირების პირობა ეკვივალენტური დანაყოფი ფუნქციური ნაკრები
TCOND7: გამოცდის ქულა = შერეული რიცხვი FS1
TCOND8: გამოცდის ქულა = ანბანური მნიშვნელობა FS1
TCOND9: გამოცდის ქულა = სპეციალური სიმბოლო FS1
TCOND10: ს.ნ.-ის ქულა = შერეული რიცხვი FS1
TCOND11: ს.ნ.-ის ქულა = ანბანური მნიშვნელობა FS1
TCOND12: ს.ნ.-ის ქულა = სპეციალური სიმბოლო FS1

შემდეგი, დანაყოფები ვალიდური გამომავალი მნიშვნელობებისთვის შეიძლება აღიწეროს შემდეგნაირად:

ტესტირების პირობა ეკვივალენტური დანაყოფი ფუნქციური ნაკრები
TCOND13: "A" მიღებულია შემდეგი მნიშვნელობით: 70 <= სრული ქულა <= 100 FS1
TCOND14: "B" მიღებულია შემდეგი მნიშვნელობით: 50 <= სრული ქულა < 70 FS1
TCOND15: "C" მიღებულია შემდეგი მნიშვნელობით: 30 <= სრული ქულა < 50 FS1
TCOND16: "D" მიღებულია შემდეგი მნიშვნელობით: 0 <= სრული ქულა < 30 FS1
TCOND17: "შეცომის შეტყობინება" (შ.შ) განპირობებულია შემდეგი მნიშვნელობით: სრული მნიშვნელობა > 100 FS1
TCOND18: "შეცომის შეტყობინება" (შ.შ) განპირობებულია შემდეგი მნიშვნელობით: სრული მნიშვნელობა < 0 FS1
TCOND19: "შეცომის შეტყობინება" (შ.შ) განპირობებულია შემდეგი მნიშვნელობით: არარიცხვითი შემავალი მნიშვნელობა FS1

სადაც, სრული მნიშვნელობა = გამოცდის ქულა + საკურსო ნამუშევრის ქულა. ყურადღება მიაქციეთ, რომ "შეცდომის შეტყობინება" მიჩნეულია ვალიდურ მნიშვნელობად, რადგან ის არის განსაზღვრული მნიშვნელობა.

ეკვივალენტური დაყოფა და ზღვრები სრული შეფასებისთვის ილუსტრირებულია ვემოთ მოცემულ სურათზე.

არავალიდური გამომავალი მნიშვნელობა შეიძლება იყოს ნებისმიერი გამომავალი მნიშვნელობა, რომელიც განსხვავდება აღწერილი ხუთი მნიშვნელობისგან. შესაძლოა გამოწვევას წარმოადგენდეს განუსაზღვრელი გამომავალი მნიშვნელობების იდენტიფიცირება. თუმცა, ის უნდა იყოს მხედველობაში მიღებული, რადგან თუ შევძლებთ მის გამოწვევას, გვქონდეს იდენტიფიცირებადი ხარვეზი სატესტო ობიექტიდან ან მისი მახასიათებლებიდან გამომდინარე. ამ კონკრეტული მაგალითისთვის სამი განუსაზღვრელი გამომავალი მნიშვნელობაა იდენტიფიცირებული და ნაჩვენები ქვემოთ. ეკვივალენტური დაყოფის ეს ასპექტი ძალიან სუბიექტურია და სხვადასხვა ტესტერების მიერ შესაძლოა განსხვავებულად იდენტიფიცირდეს.

ტესტირების პირობა ეკვივალენტური დანაყოფი ფუნქციური ნაკრები
TCOND20: გამომავალი მნიშვნელობა = 'E', ეს ზედმეტი შეფასება შესაძლოა შეცდომით იყოს იმპლემენტირებული საერთო ქულისთვის 0-დან 15-მდე FS1
TCOND21: გამომავალი მნიშვნელობა = 'A+', ეს ზედმეტი შეფასება შესაძლოა შეცდომით იყოს იმპლემენტირებული საერთო ქულისთვის 90-დან 100-მდე FS1
TCOND22: გამომავალი მნიშვნელობა = 'null', შესაძლოა დაგენერირდეს 'null' გამომავალი მნიშვნელობა FS1

მე-3 ნაბიჯი: ტესტირების დაფარვის ობიექტების განსაზღვრა

ეკვივალენტურ დაყოფაში, ტესტირების დაფარვის ობიექტებს წარმოადგენს დანაყოფები, რაომლებიც განისაზღვრა წინა ნაბიჯზე (ე.ი. სატესტო პირობები წარმოადგენენ ტესტირების დაფარვის ობიექტებს ამ ტექნიკაში). ასე, რომ შემდეგი ტესტირების დაფარვის ობიექტები შეიძლება განისაზღვროს:

ტესტირების დაფარვა ეკვივალენტური დანაყოფი ტესტირების პირობა
TCOVER1: 0 <= გამოცდის ქულა <= 75 TCOND1
TCOVER2: 0 <= ს.ნ.-ის ქულა <= 25 TCOND2
TCOVER3: გამოცდის ქულა < 0 TCOND3
TCOVER4: გამოცდის ქულა > 75 TCOND4
TCOVER5: ს.ნ.-ის ქულა < 0 TCOND5
TCOVER6: ს.ნ.-ის ქულა > 25 TCOND6
TCOVER7: გამოცდის ქულა = შერეული რიცხვი TCOND7
TCOVER8: გამოცდის ქულა = ანბანური მნიშვნელობა TCOND8
TCOVER9: გამოცდის ქულა = სპეციალური სიმბოლო TCOND9
TCOVER10: ს.ნ.-ის ქულა = შერეული რიცხვი TCOND10
TCOVER11: ს.ნ.-ის ქულა = ანბანური მნიშვნელობა TCOND11
TCOVER12: ს.ნ.-ის ქულა = სპეციალური მნიშვნელობა TCOND12
TCOVER13: "A" განპირობებულია შემდეგი მნიშვნელობით: 70 <= სრული ქულა <= 100 TCOND13
TCOVER14: "B" განპირობებულია შემდეგი მნიშვნელობით: 50 <= სრული ქულა < 70 TCOND14
TCOVER15: "C" განპირობებულია შემდეგი მნიშვნელობით: 30 <= სრული ქულა < 50 TCOND15
TCOVER16: "D" განპირობებულია შემდეგი მნიშვნელობით: 0 <= სრული ქულა < 30 TCOND16
TCOVER17: "შეცდომის შეტყობინება (შ.შ.)" განპირობებულია შემდეგი მნიშვნელობით: სრული ქულა > 100 TCOND17
TCOVER18: "შეცდომის შეტყობინება (შ.შ.)" განპირობებულია შემდეგი მნიშვნელობით: სრული ქულა < 0 TCOND18
TCOVER19: "შეცდომის შეტყობინება (შ.შ.)" განპირობებულია შემდეგი მნიშვნელობით: არარიცხვითი შემავალი მნიშვნელობა TCOND19
TCOVER20: გამომავალი მნიშვნელობა = "E" TCOND20
TCOVER21: გამომავალი მნიშვნელობა = "A+" TCOND21
TCOVER22: გამომავალი მნიშვნელობა = "null" TCOND22

მე-4 ნაბიჯი: ტესტ ქეისების განსაზღვრა

ვარიანტები

დანაყოფებისა და ტესტირების დაფარვის ობიექტების იდენტიფიცირების შემდეგ იქმნება ტესტ ქეისები, რომლებმაც უნდა დაფარონ თითოეული დაფარვის ობიექტი.

თითოეული ამ ტესტ ქეისისთვის განისაზღვრება მხოლოდ ერთი დაფარვის ობიექტი. სულ იდენტიფიცირებულია 22 დაფარვის ობიექტი, შესაბამისად იდენტიფიცირდება 22 ტესტ ქეისი.

დანაყოფებთან დაკავშირებული ტესტ ქეისები, რომლებიც შემავალ მნიშვნელობებზეა დამოკიდებულია, ნაჩვენებია ქვემოთ. შენიშნეთ, რომ საკურსო ნამუშევრისთვის შემავალ მნიშვნელობად განსაზღვრულია 15. აღნიშნული მნიშვნელობა გამოყენებულია ყველა ტესტ ქეისში მოცემული პირობისთვის.

ცხრილი 1 - ტესტ ქეისები შემავალი მნიშვნელობისთვის - გამოცდის ქულა
ტესტ ქეისი 1 2 3
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 60 -10 93
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) 15 15 15
3. სრული ქულა (გამოანგარიშებული) 75 5 108
4. ტესტირების დაფარვის ობიექტი TCOVER1 TCOVER3 TCOVER4
5. გატესტილი დანაყოფი (საგამოცდო ქულის) 0 <= გამოცდის ქულა <= 75 გამოცდის ქულა < 0 გამოცდის ქულა > 75
6. მოსალოდნელი გამომავალი მნიშვნელობა 'A' 'შ.შ.' 'შ.შ.'
ცხრილი 2 - ტესტ ქეისები შემავალი მნიშვნელობისთვის - საგამოცდო ნაშრომი

ტესტ ქეისები, რომლებიც შეესაბამება საგამოცდო ნაშრომის შემავალი მნიშვნელობების დანაყოფებს მოცემულია ქვემოთ.

ტესტ ქეისი 1 2 3
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 40 40 40
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) 20 -15 47
3. სრული ქულა (გამოანგარიშებული) 60 25 87
4. ტესტირების დაფარვის ობიექტი TCOVER2 TCOVER5 TCOVER6
5. გატესტილი დანაყოფი (საგამოცდო ქულის) 0 <= ს.ნ.-ის ქულა <= 25 ს.ნ.-ის ქულა < 0 ს.ნ.-ის ქულა > 25
6. მოსალოდნელი გამომავალი მნიშვნელობა 'B' 'შ.შ.' 'შ.შ.'
ცხრილი 3 - ტესტ ქეისები არავალიდური შემავალი მნიშვნელობებისთვის - გამოცდის ქულა

ტესტ ქეისები, რომლებიც შეესაბამება შესაძლოა არავალიდურ შემავალ მნიშვნელობებს მოცემულია ქვემოთ.

ტესტ ქეისი 1 2 3
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 60.5 Q $
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) 15 15 15
3. სრული ქულა (გამოანგარიშებული) 75.5 გამოუთვლელი გამოუთვლელი
4. ტესტირების დაფარვის ობიექტი TCOVER7 TCOVER8 TCOVER9
5. გატესტილი დანაყოფი (საგამოცდო ქულის) გამოცდის ქულა = შერეული რიცხვი გამოცდის ქულა = ანბანური მნიშვნელობა გამოცდის ქულა = სპეციალური სიმბოლო
6. მოსალოდნელი გამომავალი მნიშვნელობა 'შ.შ.' 'შ.შ.' 'შ.შ.'
ცხრილი 4 - ტესტ ქეისები არავალიდური შემავალი მნიშვნელობებისთვის - საკურსო ნამუშევრის ქულა

ტესტ ქეისები, რომლებიც შეესაბამება საგამოცდო ნაშრომის არავალიდური შემავალი მნიშვნელობების დანაყოფებს მოცემულია ქვემოთ.

ტესტ ქეისი 10 11 12
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 40 40 40
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) 20 .23 G @
3. სრული ქულა (გამოანგარიშებული) 60.23 გამოუთვლელი გამოუთვლელი
4. ტესტირების დაფარვის ობიექტი TCOVER10 TCOVER11 TCOVER12
5. გატესტილი დანაყოფი (საგამოცდო ქულის) ს.ნ.-ის ქულა = შერეული რიცხვი ს.ნ.-ის ქულა = ანბანური მნიშვნელობა ს.ნ.-ის ქულა = სპეციალური მნიშვნელობა
6. მოსალოდნელი გამომავალი მნიშვნელობა 'შ.შ.' 'შ.შ.' 'შ.შ.'
ცხრილი 5 - ტესტ ქეისები ვალიდური გამომავალი მნიშვნელობებისთვის - სრული ქულა

ტესტ ქეისები, რომლებიც შეესაბამება სრული შეფასების ვალიდური მნიშვნელობების დანაყოფებს მოცემულია ქვემოთ.

ტესტ ქეისი 13 14 15 16 17 18
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 60 44 32 12 80 -10
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) 20 22 13 5 60 -10
3. სრული ქულა (გამოანგარიშებული) 80 66 45 17 140 -20
4. ტესტირების დაფარვის ობიექტი TCOVER13 TCOVER14 TCOVER15 TCOVER16 TCOVER17 TCOVER18
5. გატესტილი დანაყოფი (საგამოცდო ქულის) 70 <= სრული ქულა <= 100 50 <= სრული ქულა < 70 30 <= სრული ქულა < 50 0 <= სრული ქულა < 30 სრული ქულა > 100 სრული ქულა < 0
6. მოსალოდნელი გამომავალი მნიშვნელობა 'A' 'B' 'C' 'D' 'შ.შ.' 'შ.შ.'
ცხრილი 6 - ტესტ ქეისები არა ვალიდური გამომავალი მნიშვნელობისთვის - სრული ქულა

ტესტ ქეისები, რომლებიც შეესაბამება სრული შეფასების არავალიდურ გამომავალი მნიშვნელობებს დანაყოფებს მოცემული ქვემოთ.

ტესტ ქეისი 19 20 21 22
1. შემავალი მნიშვნელობა (გამოცდის ქულა) 47.3 5 72 Null
2. შემავალი მნიშვნელობა (ს.ნ.-ის ქულა) @@@ 5 23 Null
3. სრული ქულა (გამოანგარიშებული) - 10 95 -
4. ტესტირების დაფარვის ობიექტი TCOVER19 TCOVER20 TCOVER21 TCOVER22
5. გატესტილი დანაყოფი (გამომავალი მნიშვნელობა) 'შ.შ. 'E' 'A+' 'Null'
6. გატესტილი დანაყოფი (საგამოცდო ქულის) - 0 <= სრული ქულა <= 15 90 <= სრული ქულა <= 100 -
7. მოსალოდნელი გამომავალი მნიშვნელობა 'შ.შ.' 'D' 'A' 'შ.შ.