White Box Testing Strategy Part 2

White Box Testing Strategy Part 2

ต่อจาก post ที่แล้วเราพอทราบคร่าวๆแล้วว่า White Box Testing มีเทคนิคอะไรให้เราได้ใช้บ้าง คราวนี้เรามาลองเจาะลงไปดูในแต่ละวิธีกันดีกว่าว่ามันช่วยให้การออกแบบ test case ครอบคลุมขึ้นจริงไหม สำหรับ Post นี้เรามาเริ่มต้นกันกับ Statement Coverage และ Decision coverage กันก่อนครับ

เริ่มต้นกับ Statement coverage

Statement coverage หรือ อีกชื่อคือ segment coverage โดยรูปแบบคือ เราจะเทสเฉพาะ condition ที่เป็น true และ 1 เทสเคส ต่อ 1 condition เช่น

public void printZ(int x, int y) {
    int z = x + 2*y;
    if(z > 50) {
        System.out.println("Z");
    }
}

โดยจาก Java code ตัวอย่างเป็น function การทำงานในการคำนวนค่า x, y ซึ่งหากผ่านสมการได้ค่า Z แล้วค่า Z มากกว่า 50 ก็จะทำการ print “Z” ครับ
จาก case ดังกล่าวมี 1 condition นั่นคือ Z > 50 เราสามารถเขียนเทสได้ 1 เคสดังนี้ ให้ x เป็น 50 และ y เป็น 25 จึงทำให้ค่า z มากกว่า 50 ครับ และ function ควรจะทำการ print Z มาบน console ครับ

Condition Result x y
z > 50 true 50 25

Decision coverage

Decision coverage แตกต่างจาก statement coverage โดยที่จะครอบคลุมทั้ง condition ที่เป็น true และ false ครับ ซึ่งจะการันตีได้ว่าหากเรา เขียนเคสครอบคลุม 100% ของ decision coverage แล้วจะถือได้ว่าเราได้ครอบคลุม Statement coverage แล้วครับ
โดยจาก code ชุดเดิมเราเพิ่มเคส false condition ได้อีกเคสดังนี้ครับ

Condition Result x y
z > 50 true 50 25
z > 50 false 10 0



สำหรับ Condition coverage กับ Multiple-condition coverage ผมขอยกไป post หน้านะครับ ^^


Related Posts

Comments