บอกเล่าเก้าสิบ - Tester ต้องทำอะไรบ้าง? ตอนที่ 1
Posted by Zyracuze on
September 2, 2008
สวัสดียามค่ำคืนวันอังคาร วันที่ชาวไทยได้พบกับ “ประกาศสถานการณ์ฉุกเฉินในเขตท้องที่กรุงเทพมหานคร” ออกแนวแอบลุ้นเมื่อเช้าว่าบริษัทจะสั่งหยุดงานหรือไม่
มาเข้าเรื่องกันเลยดีกว่านะครับ แอบออกนอกเรื่องไปนิดหน่อยแหละ
เปิดเรื่องด้วย “บอกเล่าเก้าสิบ - Tester ต้องทำอะไรบ้าง?” ก็ต้องขอบอกก่อนว่าที่เลือกเขียนเรื่องนี้ก็เนื่องจากหลายๆ สาเหตุ เช่น
- เวลาสัมภาษณ์คนเข้าทำงาน เค้าก็มักจะถามว่า Tester ที่นี่ทำอะไรบ้าง
- จำได้ว่าเจอใน pantip ว่าเคยมีผู้มาถามว่า Tester จะต้องทำอะไรบ้าง
รวมทั้งเรื่องเก่าที่เคยมาเขียนตอนที่ 1 ไว้ ก็คือ Software Testing Life Cycle ตอนที่ 1 แต่ถึง ณ ตอนนี้ก็ยังค้างคาอยู่เย สำหรับตอนที่ 2 เนื่องจากให้น้องในทีมทำ Process Improvement ของ Software Testing ใหม่ และจะให้เค้ามาเขียนในสิง่ที่เค้าคิดมา ก็ต่อยอดจากสิง่ที่ผมเริ่มไว้ละกัน (โยนงานแหละ 555)
กลับมาเรื่องนี้ละกัน บอกเล่าเก้าสิบ - Tester ต้องทำอะไรบ้าง? ขอเป็นว่าแบ่งปันจากประสบการณ์ทำงานที่ผ่านมาตลอด 3 ปีในงานของ Software Tester และเป็นงานทั้งหมดที่ Tester น้อยในบริษัทที่ผมทำงานอยู่จะต้องทำ เผื่อว่าจะเป็นประโยชน์ ไม่มาก ก็น้อย สำหรับหลายๆ ท่าน คิดเห็นประการใด ก็ฝากไว้ใน Comment ของเรื่องนี้ได้เช่นกัน
ขอแบ่งเรื่องนี้ออกเป็น 2 ตอนละกัน (เอาอีกแล้ว จะมีเขียนตอนที่ 2 รึ) ขอบอกเลยว่าตอนที่ 2 ตามมาแน่นอน
ด้วยบริษัทของผมเองทำเกี่ยวกับให้บริการ Website ดังนั้นงาน Test ของที่นี่ก็จะเป็น Web Testing ซะ 90%
Tester น้อยๆ 1 คนจะต้องรับผิดชอบอะไรบ้าง จะต้อง Test อะไรบ้าง
Tester น้อยๆ 1 คนที่นี่จะต้องรับผิดชอบในการทดสอบหลักๆ ดังนี้
- System and Integration Testing
- Compatibility Testing
- Usability Testing
- Regression Testing
- Performance Testing
ความหมายของแต่ละ Test Type ไว้ว่ากันทีหลัง หรือท่านใดสนใจก็เอาไปค้นหาต่อใน Internet ก็ได้ครับ
เมื่องานเข้า
งานก็จะเริ่มจากที่ Project Manager หรือ IT Leader จะมาพูดคุยอธิบายถึง Project ที่จะส่งเข้ามา Testing โดยหลักๆ ก็จะมาเจอกับผมก่อน หรือไม่ก็น้องอีกคนที่อยู่มานาน ก็จะแก่กล้าวิชาในระดับหนึ่ง หลังจากพูดคุย รับฟัง ของขอบเขตของ Project และจุดประสงค์ของการ Test แล้วนั้นทาง Project Manager หรือ IT Leader จะต้องทำการส่งเอกสารขอเปิดงาน ผมตั้งชื่อมันว่า Software Testing Requisition Form (ออกแบบเอง บังคับใช้เอง ไม่ปรึกษาใคร 555) มาพร้อมกับเอกสารต่างๆ และ Project Plan
ผมก็จะพิจารณาจากความยาก และซับซ้อนของ Project ที่เข้ามา บวกกับตารางงานของน้องในทีมแต่ละคน เพื่อจะส่งงานให้ Tester น้อยๆ คนนั้นๆ รับไปดำเนินการต่อไป
Tester น้อย ต้องทำอะไรบ้างเมื่องานเข้า
เมื่องานเข้า Tester น้อย จะได้รับเอกสารที่เรียกว่า Business Requirement Document ไปนอนอ่านเล่น ก่อนนอน หรือยามว่างก่อนเลย แล้วก็จะต้องถอดทุกอย่าง ออกมาในรูปของ MindMap (ออกแนวบังคับให้ใช้ด้วย 555)
หลังจากได้ MindMap ของ Project ที่จะต้อง Test มาแล้ว Tester น้อย ก็จะเริ่มทำการออกแบบการทดสอบ โดยผมตั้งชื่อว่า Test Design ในขั้นตอนนี้ Tester น้อยจะเริ่มที่จะนำ MindMap มาต่อยอดในการออกแบบการทดสอบ โดยผมเลือกใช้เทคนิคที่ได้ร่ำเรียนมาจากครั้งที่ไปเข้าคอร์สอบรมเรื่อง Software Testing ที่ Software Park เมื่อปีที่แล้ว เทคนิคที่นำมาใช้เรียกว่า Requirement Based Testing
Requirement Based Testing เป็นหนึ่งในเทคนิคการออกแบบการทดสอบแบบ Black Box ในส่วนของรายละเอียดไว้จะมีเขียนขยายความในคราวต่อไป
พอผ่าน Requirement Based Testing แล้วนั้นก็จะได้เป็น Test Coverage Matrix และจำนวน Test Cases ทั้งหมดที่จะเกิดขึ้นด้วย โดยจะเป็น Test Cases สองแบบ คือ
- Test To Pass หรือ Possitive Testing
- Test To Fail หรือ Negative Testing
ทีนี้ Tester น้อยก็จะเริ่มเลือก Test Cases ที่ได้จากการออกแบบด้วย Requirement Bases Testing มาทำการสร้างเป็น Test Scenarios และทำการเขียน Test Scenarios โดยใช้ Standard Templates ของทีมที่ใช้งานอยู่ ซึ่งก็เป็นไฟล์ Excel
หลังจากเสร็จสิ้นการเขียน Test Scenarios แล้วนั้น Tester น้อย ก็จะเริ่มลงมือในการจัดเตรียม Test Environment และ Test Data ต่างๆ ที่จะถูกใช้ในเมื่อทดสอบ หรือ Test Execution รวมทั้งจะต้องจัดเตรียมระบบ Defect Tracking ซึ่งปัจจุบันทีมใช้ตัว Defect Tracking ชื่อว่า Mantis หลายๆ ท่านน่าจะรู้จัก หรือคุ้นชื่อเจ้า Mantis นี้
ก่อนจะถึงวัน Test Execution นั้น Tester น้อยจะทำการนัดประชุมกับทาง Developement Team ให้มาทำการ Demo ตัว Project ที่จะถูกส่งมอบมาทำ Test Execution และมี Business Team ผู้ที่เขียนเอกสาร Business Requirement Document เข้ามาร่วมด้วยเช่นกัน ซึ่งโดยปกติ จะนัด 2 - 3 วัน ก่อนวันส่งมอบ Project
พอถึงวันที่ทาง Development Team ส่งมอบ Project มาแล้วนั้น Tester น้อยก็จะเริ่มลุย Test Execuiton ตาม Test scenarios ที่จัดสร้างไว้ และตาม Standard Validation Document ของทีมที่มีอยู่ด้วย
Defect ต่างๆ ที่พบในระหว่างของ Test Execution จะถูกบันทึกลงใน Mantis
เมื่อเสร็จสิ้น Test Execution แล้ว Tester น้อย นัดทีม Development และ Business มาร่วมในขั้นตอนของ Review Defects เพื่อมาสุมหัวดูกันว่า Defects ที่ Tester น้อยเปิดไป
- อันไหนเป็น Defect และอันไหนไม่ใช่ Defect
- อันไหนจะแก้ หรืออันไหนจะไม่แก้
- จะใช้เวลาในการแก้ไข Defect ที่ยอมรับ เท่าไร
- กำหนดตารางเวลาของ Regression Testing
ในช่วงที่ทีม Development ดำเนินการแก้ไข Defect ที่เปิดไปนั้น Tester น้อย ก็ยังต้องมีงานอื่นๆ โน้น นี่ นัั่น ที่ยังจะต้องทำอีก จนเมื่อทางทีม Development แจ้งกลับมาว่าพร้อมจะส่ง Project มาทำ Regression Testing ก็นับเป็นอีกช่วงมที่ Tester น้อย งานเข้า อีกแล้ว
หลังจากเสร็จสิ้น Regression Testing และตรงตาม Exit Criteria ที่ได้ตกลงกันไว้ Teste น้อยก็จะทำการเรียกประชุม (อีกแล้ว) กับทางทีม Development, Business และ User Acceptance Testing เพื่อสรุปผล Test Execution, Regression Testing และสิ่งที่พบจากการทดสอบ และส่งมอบงานให้กับทางทีม User Acceptance Testing ไปลุยต่อ
Tester น้อย ก็จะต้องทำ Test Report ออกมา และรวมเอกสารต่างๆ ที่ได้สร้าง และใช้งาน ในช่วง Test Execution และ Regression Testing ตาม Folder Template ของทีม และนำไปวางไว้บน Share Drive ของทีม
สิ้นสุดกันที
คราวๆ ที่ได้เขียน บอกเล่าเก้าสิบ มาตั้งแต่ต้นจนจบ เป็นภาพรวม และรายละเอียดเล็กๆ ของ Tester น้อยที่บริษัทผมจะต้องรับผิดชอบ และปฏิบัติในการทำ Test ครับ
ในส่วนรายละเอียดต่างๆ ของแต่ละขั้น แต่ละช่วง (Phase) ผมจะมาบอกเล่าเก้าสิบ ให้เห็นภาพชัดขึ้นใน ตอนที่ 2 อีกครั้งครับ
2 Responses to “บอกเล่าเก้าสิบ - Tester ต้องทำอะไรบ้าง? ตอนที่ 1”
จะรออ่านตอนต่อไปนะครับ ดีมากเลย
By kira7 on Sep 3, 2008
ขอบคุณที่นำมาแชร์ให้ฟังนะคะ
เป็นประโยชน์มากๆ จะติดตามอ่านต่อไป ^^
By babynoi on Sep 5, 2008