เขียน Test Cases ไปเพื่ออะไร? สมการ Test Case

เขียน Test Cases ไปเพื่ออะไร? สมการ Test Case

test-case-formula

 

 ช้าวันนี้มานั่งพล่ามต่อจากความเดิมเรื่องของ เขียน Test Cases ไปเพื่ออะไร? หลายต่อ หลายครั้ง ที่ผมได้รับการติดต่อสอบถามเพื่อขอ ตัวอย่างเอกสาร Test Case และ/หรือ ขอดู Test Case ที่ถูกเขียนไว้แล้ว เพื่อนำไปใช้เป็นตัวอย่าง ผมก็มักจะตอบไปว่าให้ค้นหาใน Google เลย รัก ชอบ อันไหนก็เอาไปใช้ เพราะผมเองตอนเริ่มต้นงานส่วนของ Software Tester ผมก็หามาจาก Google เช่นเดียวกัน

จากประสบการณ์การทำงานส่วนตัวเองในสายงานด้าน Software Testing บวกกับการได้พบปะ พูดคุย กับเพื่อนพ้องน้องพี่หลายๆ คน ได้แลกเปลี่ยนความรู้ และประสบการณ์ต่างๆ และอ่าน อ่าน อ่าน จนได้สรุปออกมาว่า เราควรจะสนใจเรื่องขององค์ประกอบของ Test Case ก่อน โดยขอนำเสนอออกมาในรูปแบบของสมการดังนี้

สมการ Test Case

ต้องบอกก่อนว่า สมการ Test Case ที่จะกล่าวถึงนี้ ผมได้มาจาก Presentation ของใครสักคนหนึ่งบน Internet แต่ตอนนั้นไม่ได้จดชื่อไว้ ขอยก Credit ให้กับบุคคลผู้นั้น ณ ที่นี้

Test Case เป็นสิ่งสำคัญหนึ่งเลยสำหรับการทดสอบ หากปราศจากสิ่งนี้ก็จะไม่รู้ว่าจะต้องทดสอบอะไรบ้างในแต่ละระดับของการทดสอบ (Test Level) ตั้งแต่ Unit Testing -> Integration Testing -> System Testing -> Acceptance Testing และส่วนของ Non-Functional ด้วยเช่นกัน ดังนั้นในการสร้าง Test Case ผมขอใช้สมการนี้

Test Case = Test Rule + Test Data

องค์ประกอบหลักของพื้นฐานของ Test Case จะมีอยู่ 2 ส่วน

Test Rule

เราจะต้องรู้ก่อนว่า เรากำลังจะทดสอบเงื่อนไขอะไรบ้างของ ความต้องการ (Requriement) ดังนั้นไม่ว่าคุณจะเป็นใครที่เกี่ยวข้องอยู่ในทีมพัฒนา Software Product คุณจะต้องสนใจ และให้ความสำคัญ และใส่ใจ ในการเก็บรวบรวม สรุป เงื่อนไขต่างๆ ของความต้องการเสมอ เพราะมันจะถูกนำมาเป็นตัวตั้งต้นในการออกแบบ Test Case

เทคนิคส่วนตัวของผมเอง ผมจะใช้ Mindmap และการวาดภาพ เข้ามาช่วยในการสรุปเงื่อนไขต่างๆ ของความต้องการที่จะทดสอบ

Test Data

อีกหนึ่งองค์ประกอบที่สำคัญของ Test Case ก็คือ ข้อมูลในการทดสอบ (Test Data) เมื่อได้เงื่อนไขต่างๆ ของ ความต้องการนั้นๆ มาแล้ว สิ่งที่จะต้องจัดเตรียม จัดหา จัดทำ ก็คือ Test Data ที่เสมือนจริง หรือ จริงๆ ที่จะใช้ทดสอบ เงื่อนไขต่างๆ นั้น

เทคนิคส่วนตัวของผมที่ใช้ในการบริหารจัดการ Test Data

  • ตั้ง Test Library ซึ่งจะจัดเก็บข้อมูลในการทดสอบแบบต่างๆ ไว้ โดยจะมีการดูแลจากทีม Test ทุกๆ ช่วยกัน
  • ข้อมูลจาก Database จะขอข้อมูลย้อนหลังที่ใกล้เคียงข้อมูลบน Production มากที่สุด หรือถ้าใช้ข้อมูลจาก Production ได้ก็จะยิ่งดี
  • หากสร้างระบบขึ้นมาใหม่ สร้างฐานข้อมูลใหม่ อาจจะติดปัญหาเรื่องของไม่มีข้อมูลอยู่ เราสามารถสร้างชุดข้อมูลขึ้นมาได้ หากเรารู้เงื่อนไข ต่างๆ และโครงสร้างของฐานข้อมูลที่เกี่ยวข้อง

ดังนั้น 2 ส่วนพื้นฐานสำคัญ (สำหรับผม) ของ Test Case จะต้องตั้งต้นด้วยสมการดังกล่าวเสมอ

แต่งองค์ทรงเครื่อง Test Case ให้หล่อขึ้น

พอเราได้ Test Case ตามสมการแล้วนั้น เราก็สามารถจะแต่งองค์ทรงเครื่องให้ Test Case ของเราดูดีขึ้น ดูหล่อขึ้น ได้จากสิ่งเหล่านี้

  • Test ID ใส่ตัวเลขเพื่อจัดลำดับ Test Case ซะหน่อย โดยอาจจะกำหนดรูปแบบของ ID ก็ได้แล้วแต่ชอบ ยกตัวอย่างเช่น TC1001005 สื่อความได้ว่า
    • TC คือ Test Case
    • 1001 คือ 1 ตัวแรกคือ การทดสอบแบบ Funcitonal และ 001 คือ เงื่อนไขที่ 1
    • 005 คือ หมายเลขของ Test Case ลำดับที่ 5
  • Test Description คำอธิบาย Test Case บอกเล่าพอสวยงามเกี่ยวกับ Test Case นี้ คืออะไร ทดสอบอะไร แต่ไม่ต้องยาวมาก
  • Test Level ระดับของการทดสอบว่าเป็น Unit Testing หรือ Integration Testing หรือ System Testing หรือ บลา บลา บลา ซึ่ง Unit Testing ดูความเหมาะสมว่าสามารถใส่ลงไปตรงไหนได้ในส่วนของ Source Code นั้นๆ ปล. Unit Testing ของผม คือ Source Code ไม่ใช่ Excel นะครับ
  • Steps ขั้นตอนในการทดสอบ (เมื่อก่อนสำคัญสำหรับผม แต่ตอนนี้ไม่สำคัญมากเท่าไร ไว้จะมาพล่ามให้ฟัง)
  • Expected Result ผลที่คาดว่าจะได้รับจากการทดสอบตามเงื่อนไขของความต้องการนั้นๆ
  • Actual Result ผลที่ได้รับออกมาจากการทดสอบ
  • Pass/Fail ผลสรุป ผ่าน หรือ ไม่ผ่าน

หรือใครใคร่จะใส่อะไรลงไปเพิ่มขึ้นกว่านี้ก็ได้ แต่ผมให้ข้อสังเกตุไว้ว่า แต่งองค์ทรงเครื่องเท่าที่จำเป็นจะต้องใช้เท่านั้นพอ

สรุปพล่ามจากกะบาล

  • หาให้ได้ก่อนว่า เงื่อนไขอะไรบ้างที่เราต้องนำมาทดสอบ
  • ตั้งสมการ Test Case = Test Rule + Test Data
  • 1 Test Case ต่อ 1 เงื่อนไขของการทดสอบ
  • เตรียมข้อมูลในการทดสอบให้เหมาะสมทั้งปริมาณ และคุณภาพ
  • แต่งองค์ทรงเครื่อง Test Case ให้สวยงามตามที่ควรจะต้องเป็น

ดังนั้น ลองนำสมการ Test Case และการแต่งองค์ทรงเครื่อง ไปออกแบบหน้าตา Test Case ของทุกๆ คนเอง และในทุกๆ ครั้งที่จบการทดสอบ กลับมาสรุปการใช้งาน Test Case เพื่อหาสิ่งที่จะต้องปรับปรุง ทั้ง แก้ไข เพิ่มเติม และ/หรือปรับลด ลงอยู่อย่างสม่ำเสมอ และ

อย่าให้ Template Test Case หรือ ตัวอย่าง Test Case กับใคร แต่ ควรให้ สมการ และเครื่องแต่งองค์ทรงเครื่องไปจะดีกว่า นะจ๊ะ

ข้อมูลจาก: http://www.welovebug.com/test-case-2/test-case-formular/

แบ่งปันโดย: HRMi Team

 3701
ผู้เข้าชม
สร้างเว็บไซต์สำเร็จรูปฟรี ร้านค้าออนไลน์