วันอังคารที่ 11 พฤษภาคม พ.ศ. 2564

DOPA 5 Fields กับการเขียนเทสเคส แบบ Verify ความถูกต้องของข้อมูล

ต่อจากครั้งที่แล้วค่ะ DOPA 5 Fields กับการเขียนเทสเคส แบบ Verify ความถูกต้องของข้อมูล

ตามที่เกริ่นไว้ว่าการเขียนเทสเคสนั้น จะมี 2 มุมมอง คือ การ validate data และ verify data

    Verify data คือเมื่อทำการกรอกข้อมูลมาอย่างถูกต้องแล้ว แล้วข้อมูลมีอยู่จริงในระบบไหม 

เช่น นางสาวสวยงาม ไทยแท้ มีอยุ่จริงในระบบ DOPA หรือไม่ ถ้ามีอยู่จริง จะต้องตรวจสอบข้อมูลส่วนอื่นๆด้วยหรือไม่ เช่น วันเดือนปีเกิด Laser ID หลังบัตร 

หน้าจอ DOPA

หน้าจอ DOPA ตามรูปภาพด้านบน จากการวิเคราะห์ เราสามารถเขียนเทสเคสในมุมการ Verify data โดยมี Scenario หลักๆดังนี้  

    1.ตรวจสอบความถูกต้องชื่อ-สกุล

    2.ตรวจสอบความถูกต้อง  เลขบัตรประชาชน

    3.ตรวจสอบความถูก เลขหลังบัตรประชน[Laser ID]

    4.ตรวจสอบวันหมดอายุของบัตรประชาชน

    5.ตรวจสอบวัน/เดือน/ปี เกิดของลูกค้า


ในการเทสนั้น นอกจากจะทำการเขียนเทสเคสได้อย่างครอบคลุมแล้ว จะต้องรู้ด้วยว่า การจะเทสในแต่ละเทสเคสนั้นเราจะ เตรียม data ในการทดสอบอย่างไร จากตัวอย่างเทสเคสด้านบน เพื่อนๆลองนึกดูนะคะว่าจะต้องเตรียม data อย่างไรน้าาาาาา

วันอังคารที่ 4 พฤษภาคม พ.ศ. 2564

DOPA 5 Fields กับการเขียนเทสเคส

 จ้าาา มาแล้ว มาต่อจากตอนที่แล้วนะคะ ที่เราให้ข้อมูลเกี่ยวกับ DOPA ไปบ้างแล้ว

ทีนี้ ถ้าเราจะเขียนเทสเคส นี่เราจะเขียนยังไงกันดี  ขอเพิ่มเติมรายละเอียดหน้าจอกันนิดหน่อยนะคะ เพื่อให้มี Requirement มากขึ้นกว่าเดิม โดยจะเพิ่มข้อมูลการกรอกข้อมูลประเภท วัน/เดือน/ปี ให้ 


หน้าจอ DOPA

จากหน้าจอ DOPA ตามด้านบน เรามาวิเคราะห์ว่าเราจะเทสอะไรบ้าง
ขอแบ่งออกเป็นของหมวดใหญ่ๆด้วยกันคือ 
1) Validate data ตรวจสอบการกรอกข้อมูลว่าลูกค้าทำการกรอกข้อมูลมาถูกหรือไม่เช่น
     - ระบบแจ้งว่า ต้องกรอกชื่อ สกุล เป็นภาษาไทยเท่านั้น  นั่นหมายความว่าถ้ากรอกด้วยภาษาอื่นๆมา ระบบจะไม่รองรับ และจะต้องแจ้ง Error message หรือข้อความแจ้งเตือนลูกค้าให้ถูกต้อง 
     - วัน/เดือน/ปีเกิด ระบบแจ้งว่าต้อง กรอกข้อมูลเป็น วัน 2 หลัก ,เดือน 2 หลัก ปี 4 หลัก เป็น พ.ศ. เช่น 14/12/2524  ดังนั้น หากลูกค้ากรอกไม่ตรงกับรูปแบบที่กำหนดไว้ ระบบต้องแจ้ง Error message หรือข้อความแจ้งเตือนลูกค้าให้ถูกต้อง เพื่อที่ลูกค้าจะได้ตรวจสอบและแก้ไขข้อมูลให้ถูกต้อง
 
2) Verify data คือเมื่อทำการกรอกข้อมูลมาอย่างถูกต้องแล้ว แล้วข้อมูลมีอยู่จริงในระบบไหม 
เช่น นางสาวสวยงาม ไทยแท้ มีอยุ่จริงในระบบ DOPA หรือไม่ ถ้ามีอยู่จริง จะต้องตรวจสอบข้อมูลส่วนอื่นๆด้วยหรือไม่ เช่น วันเดือนปีเกิด Laser ID หลังบัตร 

   อ่าาาา มาเริ่มกันที่ส่วนแรกเลยนะคะ Validate data ตรวจสอบการกรอกข้อมูลว่าลูกค้าทำการกรอกข้อมูลมาถูกหรือไม่

Validate data ตรวจสอบการกรอกข้อมูล ในที่นี้จะ มีทั้งหมด 5 Scenario ได้แก่ 
ตรวจสอบการกรอกชื่อ-สกุล เป็นภาษาอังกฤษ
ตรวจสอบการกรอก วัน/เดือน/ปีเกิด
ตรวจสอบการกรอก เลขบัตรประชาชน
ตรวจสอบการกรอก เลขหลังบัตรประชน[Laser ID]
ตรวจสอบการกรอก วันหมดอายุบัตร

ตัวอย่างการเขียนเทสเคส 


Dopa Test case



 


วันเสาร์ที่ 24 เมษายน พ.ศ. 2564

DOPA 5 Fields คืออะไร

 DOPA 5 Fields คืออะไร 

ก่อนอื่นมาทำความรู้จักกับ  ก่อนนะคะ
    DOPA:ย่อมาจาก Department Of Provincial Administration กรมการปกครอง กระทรวงมหาดไทย ส่วนใครอยากรู้รายละเอียดว่าหน่วยงานนี้เขาทำอะไร อันนี้ลองไปค้นข้อมูลเพิ่มเติมได้จาก www.dopa.go.th เลยจ้าาาา 
    ต่อจากตอนที่แล้ว ที่ได้นำเสนอเรื่อง การเขียนเทสเคส เรื่องการค้นหาข้อมูล โดยได้นำเอาหน้าจอ ตัวอย่างหน้าจอ การตรวจสอบสถานะของ โครงการเราชนะ ซึ่งในนั้นจะให้เราระบุข้อมูล ส่วนตัว ถ้าสังเกตุดีๆ มันคือข้อมูลจริงของเราบนบัตรประชาชนนั่นเองค่ะ

แล้วเจ้า 5 Fields ที่ว่านี้ประกอบด้วยอะไรบ้างเอ่ย

5 Fields ที่ว่านี้ประกอบด้วย  

- คำนำหน้าชื่อ

- ชื่อ

- นามสกุล

- วัน/เดือน/ปีเกิด

- เลขบัตรประชาชน

- เลขหลังบัตรประชน[Laser ID]

- วันหมดอายุบัตร

เอ๋.... ทำไมเกิน 5 fields หล่ะ ตกลงยังไงกันแน่น้าาาาา  ลองคิดเล่นๆกันดูนะคะ และคราวหน้าจะพาเขียนเทสเคสกันค่ะ 


Credit :
 dopa.go.th
 rights.เราชนะ.com 
 bot.or.th


วันจันทร์ที่ 19 เมษายน พ.ศ. 2564

ออกแบบเทสเคสเรื่อง การค้นหาข้อมูล [ Searching] ตอนที่ 2

 มาแล้วๆๆ หายไปซะหลายวันเลย พึ่งกลับมาจาก ตจว ค่ะ 

ว่าแล้วมาต่อกันเลยดีกว่า

จากตอนที่ 1 เรามีหน้าจอ และได้วิเคราะห์ถึงความต้องการของระบบเบื้องต้นแล้วนะคะ ทีนี้เรามาทำการ เขียนเทสเคสกันดีกว่า มาเลยๆๆ

Test Scenario จะมีประมาณ 3 หัวข้อ ได้แก่ 

1) กรอกข้อมูลไม่ครบ

    - Test case ที่เกี่ยวข้องกับ Test Scenario จะมีประมาณ 5 หัวข้อ 

-ไม่กรอกข้อมูลใดๆ

-กรอก CID ไม่ครบ 13 หลัก

-ไม่กรอกข้อมูล ข้อมูลชื่อภาษาไทย 

-ไม่กรอกข้อมูล นามสกุลภาษาไทย 

-ไม่กรอกข้อมูล วัน/เดือน/ปีเกิด 

2)กรอกข้อมูลไม่ถูกต้อง

   - Test case ที่เกี่ยวข้องกับ Test Scenario จะมีประมาณ 4 หัวข้อ 

-กรอก CID ครบ 13 หลัก แต่ไม่ถูกต้อง

-ข้อมูลชื่อภาษาไทย ไม่ถูก

-ข้อมูลนามสกุลภาษาไทย ไม่ถูก

-กรอกข้อมูล วัน/เดือน/ปีเกิด ไม่ถูกต้อง

3)กรอกข้อมูลถูกต้องครบถ้วน

  - Test case ที่เกี่ยวข้องกับ Test Scenario จะมีประมาณ 1 หัวข้อ 

-กรอกข้อมูลถูกต้องครบถ้วน

รวมๆแล้วมี 10 เคสถ้วนค้าาา 


ภาพนี้จะ hide Test_no, Test status ไว้ เพื่อจะได้เห็นรายละเอียดของ Test case ได้ชัดขึ้นค่ะ



ส่วนใครคิดได้เยอะกว่านี้ ลองมาแชร์กันดูนะคะ 

วันอาทิตย์ที่ 11 เมษายน พ.ศ. 2564

ออกแบบเทสเคสเรื่อง การค้นหาข้อมูล [ Searching] ตอนที่ 1

 ออกแบบเทสเคสเรื่อง การค้นหาข้อมูล [ Searching] 

     จากประสบการณ์จริงในการลงทะเบียนของรัฐโครงการหนึ่ง😅😅 และหลังจากนั้นได้ติดตามผล โดยเข้าไปค้นหาข้อมูล

เห็นหน้าจอแล้ว ทำให้เกิดความสงสัยว่า เอ๊ะ เอ ... ถ้าจะต้องออกแบบเทสเคสในการทดสอบหน้าจอ การตรวจสอบสถานะ 

จะออกแบบเทสเคสอย่างไรดีน้าาา  ว่าแล้วก็ลองมาออกแบบเทสเคสกันเถอะค่ะ 

     เริ่มจากวิเคราะห์ความต้องการของระบบ[Requirment], แล้วความต้องการของระบบ[Requirment]คืออะไรหละ จะเอามาจากไหน

ในที่นี้ขอใช้หน้าจอ ตามด้านล่างนี้ เป็น ความต้องการของระบบ[Requirment] นะคะ และขอขอบคุณ หน้าจอ จาก rights.เราชนะ.com ด้วยค่ะ


เครดิต หน้าจอจาก :https://rights.xn--b3c4a2a6ch6f.com/

ข้อมูลบนหน้าจอประกอบด้วย 

1.Text box สำหรับกรอกข้อมูล จำนวน 3 Text box ได้แก่ 

 1.1 ฟิลด์ หมายเลขประชาชน [ 13 หลัก]

 1.2 ชื่อภาษาไทย

 1.3 นามสกุลภาษาไทย

 2. วัน/เดือน/ปีเกิด * [โปรดเลือกการกรอกข้อมูลหน้าบัตรประชาชน]

   2.1 Choice ตัวเลือกแบบ Redio button  จำนวน 4 ตัวเลือก ได้แก่ 

      2.1.1 มีวัน/เดือน/ปีเกิด

      2.1.2 มีเฉพาะวันและปีเกิด

      2.1.2 มีเฉพาะเดือนและปีเกิด

      2.1.3 มีเฉพาะปีเกิด

   2.2 Choice ตัวเลือกข้อมูล วัน/เดือน/ปีเกิด แบบ Dropdown list  จำนวน 3 ตัวเลือก ได้แก่

      2.2.1 ปี   

      2.2.2 เดือน   

      2.2.3 วัน

   **หมายเหตุ จากการสังเกตุ พบว่า การแสดงผล ตัวเลือกข้อมูล วัน/เดือน/ปีเกิด แบบ Dropdown list นี้ ขึ้นอยู่กับ การเลือกในข้อ 2.1 ดังนั้นจะได้เป็นข้อมูลในหัวข้อต่อไป

   2.3 การแสดงผล Choice ตัวเลือกข้อมูล วัน/เดือน/ปีเกิด แบบ Dropdown list  จะต้องสัมพันธ์กันกับการเลือกในข้อ 2.1

 3.ปุ่มกด "ตรวจสอบสถานะ" 


โปรดติดตามตอนต่อไปนะคะ 

วันอังคารที่ 6 เมษายน พ.ศ. 2564

Test Case -Test Script คืออะไร พร้อมยกตัวอย่าง ตอนที่ 2

 มาแล้วๆๆ วันนี้วันหยุด มีเวลามาเขียนบทความต่อจากตอนที่แล้ว

มาต่อกับตัวอย่าง Test Case / Test Script กันเถอะ

ตัวอย่าง โจทย์ หรือ Requirement 


ตัวอย่าง Requirement

1) ทำการจัดเก็บข้อมูลสมาชิก

 1.1 รายละเอียกการกรอกข้อมูลสมาชิก ตามตารางด้านบน

 1.2 หากกรอกข้อมูลไม่ถูกต้อง เมื่อกดปุ่ม Next ระบบจะแจ้งข้อความเตือน

2)สมาชิกสามารถล็อกอินเข้าใช้งานระบบได้

 2.1 หากลูกค้ากรอกข้อมูล login Username ,Password ไม่ถูกต้อง จะแจ้งข้อความเตือนลูกค้า

 2.2 ลูกค้าสามารถกรอกข้อมูล login ผิดได้2 ครั้ง โดยที่กรอกผิดครั้งที่ 3 จะโดนlocked

 2.3 ลูกค้ากรอกข้อมูลถูกต้อง จะสามารถเข้าใช้งานระบบได้

3)กรณีที่ลูกค้าลืมรหัสผ่านสามารถสอบถามหรือ reset passwordได้จาก เมนู Forgot password

ตัวอย่างหน้าจอ


ตัวอย่าง Test scenario 


ตัวอย่าง Test case -Test script 

เป็นอย่างไรกันบ้างคะ .. เพื่อนๆลอง คิดและเขียนเทสเคสเพิ่มเติมได้นะคะ 
และสามารถ post แบ่งปันความรู้แลกเปลี่ยนความคิดเห็นได้ค่ะ



วันอาทิตย์ที่ 4 เมษายน พ.ศ. 2564

Test Case / Test Script คืออะไร พร้อมยกตัวอย่าง ตอนที่ 1

Test Case / Test Script

Test case คือ กรณีที่ใช้ในการทดสอบ โดยหลักการทำ Test Case นั้น จะต้องอยู่บนพื้นฐานของ Business Requirement และวัตถุประสงค์ของระบบ การทำ Test case นั้นสามารถออกแบบ Tempate ของ Test case ได้หลากหลาย ไม่ได้กำหนดตายตัว แล้วแต่ลักษณะงานหรือ Template กลางของแต่ละบริษัท  ซึ่ง Test case นั้น จะระบุถึง Step / procedure รวมถึงวิธีการ Set up อย่างละเอียด เพื่อที่ผู้ที่ Run Test ตาม Test Case ได้ 

Test script คือ ขั้นตอนในการทดสอบ หรือการบอก Step ของ Activity ต่าง ๆ ที่จะกระทำกับระบบแล้วเกิดผลลัพธ์ เช่น User ต้องกรอกข้อมูลลงในฟิลด์ Username และ Password  ก่อน แล้วคลิกปุ่ม login  

หลักการของการคิด Test Case ที่ควรคำนึงถึง

   Negative Case / Invalid Case คือสถานการณ์ที่ลูกค้าทำงานไม่ถูกต้อง แล้วเราจะจัดการกับสถานการณ์นั้นอย่างไร เพื่อจะสื่อสารกับลูกค้าให้เข้าใจ และทำให้ลูกค้าทำงานบนระบบอย่างถูกต้อง 

     ตัวอย่าง ระบบ login  ก็จะเป็นเคสที่ ลูกค้ากรอก Username หรือ Password ไม่ถูกต้อง ระบบจะต้องมีการแจ้งข้อความเตือนลูกค้าให้ทราบเพื่อที่ลูกค้าจะได้ทำการกรอกข้อมูล login อย่างถูกต้อง ต่อไป

   Positive Case / Valid Case หรือบางทีเรียกว่า happy case หรือ normal case 

    ตัวอย่างเช่น ระบบ login ก็จะเป็นเคสที่ ลูกค้ากรอกข้อมูล username และ password ถูกต้องจะสามารถเข้าใช้งานระบบได้ 

Test Case ควรประกอบไปด้วย

  -ชื่อ Test Case โดยปกติแล้วจะตั้งชื่อให้สื่อ เช่น การ login เข้าระบบ

 - คำอธิบาย Case ต่างๆ ว่าต้องการ Test กรณีใดบ้าง

 -ข้อมูล Input ที่จะใช้ทดสอบใน Case ต่างๆ  เช่น data  ที่จะต้องใช้ในเคสนั้นๆ , เงื่อนไขในการทดสอบ (prerequisite)

 - Test Step  หรือ บางทีผู้เขียนเรียกปนๆไปกับ Test script 

 - Expected Result (ผลลัพธ์ที่คาดหวังว่าจะได้ออกมา ซึ่งจะต้องตรงกับ Requirement)

 - Actual Result (ผลลัพธ์ที่ได้จาก Program ) ซึ่งควรจะได้เหมือนกันกับ Expected result ถึงจะ Pass ถ้าได้ Actual result ที่ไม่ตรงกับ Expected result นั้น แสดงว่าเทสเคสข้อนั้นๆ Fail และจำต้องมีการ raise defect ในลำดับต่อไป 

 - Test Result  เพื่อระบุว่า Test case ข้อนี้ PASS หรือ FAIL  ผู้เขียนชอบเรียกว่า Test status ค่ะ 

ข้อควรทราบ: ในการเขียนเทสเคสนั้น อาจจะไม่ได้ครบทุก event / case ตั้งแต่แรก เราสามารถเพิ่มเติมได้ในระหว่างการทำงาน 


โปรดติดตาม ตัวอย่าง ของการเขียน Test case และ Test script ได้ในตอนที่ 2 นะคะ


เทสเคสระบบสมัครสมาชิก ตอนที่2

 กลับมาแล้วค่ะ หลังจากที่ห่างหายไปนานเนื่องจากอาการกังวลเรื่องสถานการณ์โควิด19😂 เอาใหม่ตั้งสติและกลับมาเขียนบทความดีๆเพื่อเป็นแนวทางสำหรับเ...