ในบริการทางการเงิน เรียกว่า 'กระบวนการผู้สร้าง-ผู้ตรวจสอบ' ในด้านการจัดการความเสี่ยง เป็นที่รู้จักกันทั่วไปว่า 'หลักการ 4-Eyes' ในการจัดการอาวุธนิวเคลียร์ของสหรัฐอเมริกา เรียกว่า 'แนวคิดสองคน'
โดยสรุปแล้ว ทั้งหมดนี้ทำสิ่งเดียวกัน: กระบวนการเหล่านี้รวมถึงระดับเพิ่มเติมของการประเมิน การยืนยัน การอนุญาต หรือการอนุมัติ เพื่อให้แน่ใจว่าผลลัพธ์มีความถูกต้อง คุณภาพ หรือความเกี่ยวข้อง
ในการพัฒนาซอฟต์แวร์ สิ่งนี้เรียกว่าการทดสอบหรือการประกันคุณภาพ กล่าวโดยง่าย การทดสอบซอฟต์แวร์คือการประเมินโค้ดเพื่อให้แน่ใจว่ามันทำงานตามที่คาดหวังไว้ ในการทำกิจกรรมนี้อย่างมีประสิทธิภาพ ทีมคุณภาพใช้เครื่องมือที่ทรงพลังเรียกว่ากรณีทดสอบ
ในบล็อกโพสต์นี้ เราจะสำรวจว่ามันคืออะไร ทำไมถึงจำเป็นต้องใช้ เมื่อไหร่ที่ควรใช้ และที่สำคัญที่สุดคือ วิธีการเขียนกรณีทดสอบ
⏰สรุปสั้น: วิธีเขียนกรณีทดสอบที่มีประสิทธิภาพสำหรับคุณภาพซอฟต์แวร์
1. อะไรคือกรณีทดสอบ (test case) ในการทดสอบซอฟต์แวร์?กรณีทดสอบคือชุดของขั้นตอน, ข้อมูลนำเข้า, เงื่อนไข, และผลลัพธ์ที่คาดหวังซึ่งถูกบันทึกไว้เพื่อตรวจสอบว่าฟีเจอร์ทำงานตามที่ตั้งใจไว้
2. ทำไมกรณีทดสอบจึงมีความสำคัญต่อทีม QA? กรณีทดสอบช่วยให้สามารถระบุข้อบกพร่อง, ตรวจสอบความถูกต้องของข้อกำหนด, ลดความเสี่ยง, และทำให้แน่ใจว่าการอัปเดตใหม่ไม่ทำให้ฟังก์ชันการทำงานเดิมเสียหาย
3. อะไรคือความแตกต่างระหว่างกรณีทดสอบกับสถานการณ์ทดสอบ?สถานการณ์ทดสอบคือการอธิบายในระดับสูงเกี่ยวกับสิ่งที่ต้องทดสอบ ในขณะที่กรณีทดสอบให้คำแนะนำอย่างละเอียดเกี่ยวกับวิธีการทดสอบ
4. กรณีทดสอบที่ดีควรมีอะไรบ้าง?โดยทั่วไปแล้วควรมีรหัสประจำตัว (ID), คำอธิบาย, เงื่อนไขก่อนการทดสอบ, ขั้นตอนการดำเนินการ, ผลลัพธ์ที่คาดหวัง และพื้นที่สำหรับบันทึกผลลัพธ์ที่เกิดขึ้นจริง
5. ทีมสามารถเขียนกรณีทดสอบให้ดีขึ้นและรวดเร็วขึ้นได้อย่างไร?ใช้ขั้นตอนที่ชัดเจน คิดเหมือนผู้ใช้ ให้ความสำคัญกับเป้าหมายหนึ่งอย่างต่อกรณีทดสอบ ตรวจสอบงานของคุณกับผู้อื่น และใช้แบบ템เพลตและเครื่องมือที่สามารถนำกลับมาใช้ได้
กรณีทดสอบคืออะไร?
กรณีทดสอบคือชุดของการกระทำ เงื่อนไข และข้อมูลนำเข้าที่ใช้ในการประเมินคุณภาพของซอฟต์แวร์
สมมติว่าคุณได้สร้างแบบฟอร์มเพื่อรวบรวมชื่อและอีเมลของผู้ใช้สำหรับการสมัครรับจดหมายข่าว กรณีทดสอบของแบบฟอร์มนี้จะระบุรายละเอียดดังต่อไปนี้:
การดำเนินการ [ทั้งที่ผู้ใช้เห็นและภายใน]: ทุกสิ่งที่ผู้ใช้หรือซอฟต์แวร์คาดว่าจะทำเพื่อเสร็จสิ้นกระบวนการทำงานในซอฟต์แวร์ที่กำลังพัฒนา
- ผู้ใช้ป้อนชื่อ
- ผู้ใช้ป้อนที่อยู่อีเมล
- ผู้ใช้คลิก 'ส่ง'
- อีเมลยืนยันที่ส่งถึงผู้ใช้
- ข้อมูลที่บันทึกไว้ในฐานข้อมูลที่เกี่ยวข้อง
- ข้อมูลถูกเพิ่มไปยังรายชื่ออีเมลจดหมายข่าวที่เกี่ยวข้อง
เงื่อนไข: ข้อกำหนดที่ผู้ใช้หรือระบบต้องปฏิบัติตามขณะดำเนินการตามการกระทำของตน
- บันทึกหากการตรวจสอบความถูกต้องสำหรับฟิลด์ชื่อได้รับการยอมรับ มิฉะนั้นให้แสดงข้อความแสดงข้อผิดพลาด
- บันทึกหากการตรวจสอบความถูกต้องสำหรับช่องที่อยู่อีเมลได้รับการยอมรับ มิฉะนั้นให้แสดงข้อความแสดงข้อผิดพลาด
- เพิ่มในรายชื่อจดหมายข่าวเฉพาะเมื่อผู้ใช้ยืนยันที่อยู่อีเมลของตนแล้วเท่านั้น
- หากผู้ใช้มีอยู่แล้ว ให้แสดงข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง
ข้อมูลนำเข้า: ตัวอย่างของข้อมูลที่ถือว่าเป็นข้อมูลนำเข้าที่ยอมรับได้สำหรับคุณลักษณะนี้ โดยทั่วไป ทีมประกันคุณภาพ [QA] จะสร้างข้อมูลทดสอบที่สามารถทดสอบผลลัพธ์ทั้งในเชิงบวกและเชิงลบได้
ตัวอย่างเช่น หากเงื่อนไขสำหรับการตรวจสอบความถูกต้องของฟิลด์ชื่อคือ "สามารถมีได้เฉพาะตัวอักษรในภาษาอังกฤษและช่องว่างเท่านั้น" ข้อมูลทดสอบจะเป็น
- เจน โด, ซึ่งตรงตามเกณฑ์
- Ad@m Sand!er ซึ่งไม่ตรงตามเกณฑ์
ทำไมกรณีทดสอบจึงมีความสำคัญในวิศวกรรมซอฟต์แวร์?
วิธีการทดสอบกรณีเป็นวิธีการที่ครอบคลุม มีระบบระเบียบ และสามารถทำซ้ำได้สำหรับการทดสอบซอฟต์แวร์. ในขณะที่วัตถุประสงค์หลักของมันคือการรับประกันคุณภาพของแอปพลิเคชัน มันยังเพิ่มระดับของความแข็งแกร่งและความน่าเชื่อถือให้กับกระบวนการวิศวกรรมซอฟต์แวร์เอง.
✅ การระบุข้อบกพร่อง: กรณีทดสอบช่วยระบุข้อบกพร่องในซอฟต์แวร์ พวกมันทำหน้าที่ตรวจสอบว่าแอปพลิเคชันปลอดภัยที่จะนำไปใช้งานจริงหรือไม่
✅ การตรวจสอบความถูกต้องของข้อกำหนด: กรณีทดสอบช่วยให้มั่นใจว่าสิ่งที่คุณสร้างขึ้นตรงกับสิ่งที่คุณตั้งใจไว้ตั้งแต่แรก โดยเฉพาะอย่างยิ่งหากคุณเป็นองค์กรที่ให้บริการและพัฒนาซอฟต์แวร์สำหรับผู้มีส่วนได้ส่วนเสียภายนอกที่มีข้อกำหนดเฉพาะ
✅ การลดความเสี่ยง: กรณีทดสอบจะประเมินคุณลักษณะในด้านความปลอดภัย ประสิทธิภาพ และความเสี่ยงทางการเงิน นักวิเคราะห์คุณภาพยังรวมถึงเงื่อนไขเกี่ยวกับการปฏิบัติตามกฎระเบียบ มาตรฐานอุตสาหกรรม ฯลฯ เพื่อให้แน่ใจว่าครอบคลุมทุกด้าน
✅ การปรับสมดุลภาพรวม: ฟีเจอร์ใหม่อาจทำงานได้ดีเมื่อแยกใช้งานเดี่ยว ๆ แต่เมื่อนำไปผสานกับซอฟต์แวร์ส่วนอื่น ๆ อาจเกิดข้อผิดพลาดหรือทำให้ฟีเจอร์อื่นเสียหายได้ การทดสอบกรณีการใช้งานจะช่วยให้มั่นใจว่าปัญหาเหล่านี้ถูกตรวจพบก่อนที่ผู้ใช้จะได้รับผลกระทบในสภาพแวดล้อมจริง
กรณีทดสอบหนึ่งกรณีสามารถทำทุกอย่างข้างต้นได้หรือไม่? ไม่จริง. ขึ้นอยู่กับคุณสมบัติ, ซอฟต์แวร์, ระบบ, ความต้องการ, และเป้าหมายขององค์กร, มีหลายประเภทของกรณีทดสอบที่ทีม QA เขียนขึ้น.
ทีม QA ใช้กรณีทดสอบประเภทใดบ้าง?
- การทดสอบการทำงานเพื่อยืนยันว่าฟีเจอร์ทำงานได้
- การทดสอบหน่วยสำหรับตรรกะที่แยกออกมา
- การทดสอบความปลอดภัยเพื่อการป้องกันและการปฏิบัติตามข้อกำหนด
- การทดสอบประสิทธิภาพสำหรับความเร็วและการขยายขนาด
- การทดสอบการถดถอยเพื่อป้องกันการเกิดความเสียหาย
มีกรณีทดสอบสำหรับแต่ละประเภทของการทดสอบซอฟต์แวร์. บางกรณีที่ใช้บ่อยที่สุดคือดังนี้.
กรณีทดสอบการทำงาน: กรณีทดสอบพื้นฐานและสำคัญนี้ใช้เพื่อประเมินว่าซอฟต์แวร์ทำงานตามที่ตั้งใจไว้หรือไม่ อย่างน้อยที่สุด ผู้ทดสอบคุณภาพทุกคนต้องเขียนกรณีนี้
กรณีทดสอบหน่วย: การทดสอบหน่วยเป็นการประเมินส่วนหนึ่งของฟีเจอร์หรือหน่วยเดียว ตัวอย่างเช่น QA อาจเขียนกรณีทดสอบหน่วยเพื่อตรวจสอบว่าช่องที่อยู่อีเมลตรงตามเงื่อนไขต่างๆ
กรณีทดสอบความปลอดภัย: นี่เป็นการประเมินว่าฟีเจอร์นั้นตรงตามมาตรฐานความปลอดภัยเพื่อนำไปใช้ในขั้นตอนการผลิตหรือไม่ โดยทั่วไปจะรวมถึงการทดสอบการอนุญาต การตรวจสอบสิทธิ์ การปฏิบัติตามมาตรฐาน OWASP เป็นต้น
กรณีทดสอบประสิทธิภาพ: เพื่อยืนยันว่าฟีเจอร์ใหม่ตรงตามข้อกำหนดด้านความเร็ว ความน่าเชื่อถือ ความสามารถในการขยายตัว และการใช้งานทรัพยากร
กรณีทดสอบการถดถอย: การทดสอบการถดถอยช่วยให้มั่นใจว่าฟีเจอร์ใหม่ที่คุณพัฒนาขึ้นไม่ส่งผลกระทบต่อฟีเจอร์ที่มีอยู่ในผลิตภัณฑ์
นอกเหนือจากนี้ ยังสามารถทำการทดสอบกรณีเฉพาะได้อีกด้วย ตัวอย่างเช่น องค์กรที่เน้นการออกแบบอาจรวมกรณีทดสอบของส่วนติดต่อผู้ใช้ [UI] ผลิตภัณฑ์ที่ทำหน้าที่บางส่วนของกระบวนการทำงานที่ใหญ่กว่าอาจเขียนกรณีทดสอบการรวมระบบจำนวนมาก องค์กรอื่น ๆ อาจสร้างกรณีทดสอบการใช้งานเฉพาะเกี่ยวกับฮิวริสติก การเข้าถึง ความครอบคลุม ฯลฯ
ในฐานะเจ้าของผลิตภัณฑ์ คุณมีสิทธิ์ตัดสินใจว่าซอฟต์แวร์ของคุณต้องทำอะไรและสร้างกรณีทดสอบที่เหมาะสมกับสิ่งนั้น คุณต้องครอบคลุมทุกสถานการณ์ที่สำคัญต่อคุณ
นั่นหมายความว่ากรณีทดสอบเป็นเพียงสถานการณ์ทดสอบใช่หรือไม่? ไม่เลย
ความแตกต่างระหว่างกรณีทดสอบกับสถานการณ์ทดสอบคืออะไร?
กรณีทดสอบคือบันทึกที่ครอบคลุมถึงวิธีการที่ฟีเจอร์ใหม่ของคุณควรทำงาน [และวิธีการทดสอบมัน] สถานการณ์ทดสอบคือการอธิบายในระดับสูงถึงสิ่งที่อาจเกิดขึ้น [และดังนั้นจึงควรทดสอบ]
ขยายตัวอย่างก่อนหน้านี้ สถานการณ์ทดสอบจะเป็น "ทดสอบการสมัครสมาชิกจดหมายข่าว" อย่างไรก็ตาม กรณีทดสอบจะเป็น:
- ทดสอบชื่อฟิลด์ด้วยชื่อที่ยอมรับได้
- ทดสอบฟิลด์ชื่อทดสอบที่มีอักขระพิเศษ
- ช่องชื่อทดสอบสำหรับชื่อคนดัง
- ทดสอบชื่อฟิลด์ด้วยตัวเลข
- ช่องชื่อทดสอบสำหรับชื่อตัวแทนหรือชื่อสมมติ เช่น จอห์น โด
| กรณีทดสอบ | สถานการณ์ทดสอบ | |
|---|---|---|
| คำนิยาม | เอกสารประกอบอย่างครบถ้วนเกี่ยวกับวิธีการทดสอบฟีเจอร์ | สรุปสั้น ๆ เกี่ยวกับวิธีการทำงานของฟีเจอร์นี้จากมุมมองของผู้ใช้ปลายทาง |
| ระดับ | การกระทำระดับต่ำที่มีความรับผิดชอบอย่างละเอียด | การดำเนินการระดับสูงที่มีความรับผิดชอบครอบคลุมภาพรวม |
| โฟกัส | วิธีการทดสอบ [บันทึกโดยละเอียดของฟังก์ชันการทำงานที่ตั้งใจไว้] | สิ่งที่ต้องทดสอบ [บันทึกสั้น ๆ ของผลลัพธ์ที่ตั้งใจไว้] |
| แหล่งที่มา | ได้มาจากสถานการณ์ทดสอบ | ได้มาจากเรื่องราวของผู้ใช้และกรณีการใช้งานทางธุรกิจ |
| แนวทาง | พิจารณาความเป็นไปได้ที่มีความละเอียดสูงขึ้นและทดสอบอย่างละเอียดถี่ถ้วน | จำลองสถานการณ์ในชีวิตจริงและทดสอบตามนั้น |
ตอนนี้ที่เราทราบถึงความแตกต่างแล้ว ให้เราหันกลับมาที่กรณีทดสอบและขยายดูให้ละเอียดขึ้น
กรณีทดสอบที่เขียนอย่างดีควรมีอะไรบ้าง?
องค์ประกอบของกรณีทดสอบประกอบด้วย:
- รหัสประจำตัวที่ไม่ซ้ำกัน
- วัตถุประสงค์หรือคำอธิบาย
- เงื่อนไขเบื้องต้น
- ขั้นตอนการดำเนินการ
- ผลลัพธ์ที่คาดหวัง
- ผลลัพธ์จริงสำหรับการเปรียบเทียบ
เพื่อสรุป, กรณีทดสอบคือการบันทึกอย่างละเอียดของทุกสิ่งที่ต้องทดสอบเพื่อให้แน่ใจว่าซอฟต์แวร์ทำงานตามที่ตั้งใจไว้. สิ่งนี้ทำให้ครอบคลุม, ละเอียด, และหลากหลายมิติ, รวมถึงส่วนประกอบหลายอย่าง.
องค์ประกอบที่สำคัญบางประการของกรณีทดสอบคือ:
รหัสกรณีทดสอบ: กรณีทดสอบทุกกรณีจะมีหมายเลขกำกับ อาจฟังดูง่าย แต่เพื่อทดสอบแอปพลิเคชันอย่างละเอียด คุณจะต้องทำการทดสอบต่าง ๆ ที่อาจดูคล้ายกัน หมายเลขกรณีทดสอบช่วยแยกแยะระหว่างกรณีทดสอบต่าง ๆ ได้
คำอธิบาย: คำอธิบายเกี่ยวกับสิ่งที่คุณกำลังทดสอบ ในตัวอย่างข้างต้น อาจเป็น "การเพิ่มผู้สนใจจริงที่สมัครรับจดหมายข่าวของเรา"
เงื่อนไขเบื้องต้น: ข้อกำหนดเบื้องต้นทั้งหมดที่ต้องปฏิบัติตามเพื่อใช้คุณลักษณะนี้ ตัวอย่างเช่น เราได้หารือเกี่ยวกับการตรวจสอบความถูกต้องสำหรับแต่ละฟิลด์ข้างต้นแล้ว นอกจากนี้ เงื่อนไขอื่นๆ อาจรวมถึง:
- ผู้ใช้ไม่ควรได้สมัครสมาชิกจดหมายข่าวแล้ว
- ผู้ใช้ไม่ควรยกเลิกการสมัครรับจดหมายข่าว
ขั้นตอน: ขั้นตอนที่ผู้ใช้หรือระบบควรปฏิบัติตามเพื่อทำการประเมินให้เสร็จสมบูรณ์และถือว่าประสบความสำเร็จ
- ผู้ใช้ป้อนชื่อที่ถูกต้อง
- ผู้ใช้ป้อนอีเมลที่ถูกต้อง
- ผู้ใช้ทำเครื่องหมายในช่องทำเครื่องหมายความเป็นส่วนตัว
- ผู้ใช้คลิกปุ่มส่ง
ผลลัพธ์ที่คาดหวัง: รายการสิ่งที่ระบบจำเป็นต้องดำเนินการต่อไป
- หากชื่อผู้ใช้ไม่ถูกต้อง ให้แสดงข้อความแสดงข้อผิดพลาด
- หากอีเมล ID ไม่ถูกต้อง ให้แสดงข้อความแสดงข้อผิดพลาด
- หากชื่อผู้ใช้และอีเมลไอดีถูกต้อง ให้บันทึกไปยังฐานข้อมูลที่เกี่ยวข้อง
- เมื่อบันทึกข้อมูลลงในฐานข้อมูลแล้ว ให้ส่งอีเมลยืนยันไปยังผู้ใช้
ผลลัพธ์ที่เกิดขึ้นจริง: สิ่งเหล่านี้คือข้อสังเกตของผู้ทดสอบหลังจากที่พวกเขาได้รันกรณีทดสอบแล้ว นี่คือสิ่งที่จะถูกส่งกลับไปยังนักพัฒนาในกรณีที่บางสิ่งทำงานไม่ถูกต้อง
- ทดสอบฟิลด์ชื่อด้วยชื่อ Katy P3rry และได้รับการยอมรับว่าเป็นข้อมูลที่ถูกต้อง [แม้ว่าจะมีตัวเลขอยู่ด้วย]
ด้วยเหตุนี้ คุณก็พร้อมที่จะเขียนกรณีทดสอบที่มีประสิทธิภาพแล้ว นี่คือวิธีการ
วิธีเขียนกรณีทดสอบที่มีประสิทธิภาพพร้อมตัวอย่าง
นี่คือวิธีที่คุณสามารถเขียนกรณีทดสอบที่มีประสิทธิภาพได้:
- ระบุสถานการณ์การใช้งานจริง
- กำหนดว่าความสำเร็จต้องพิสูจน์อะไร
- จัดทำเอกสารขั้นตอนที่ชัดเจนและสามารถทำซ้ำได้
- แผนผังผลลัพธ์สำหรับทุกการเปลี่ยนแปลง
- สถานะการตั้งค่าและการติดตามผลของการจับภาพ
การเขียนกรณีทดสอบที่ดีต้องอาศัยทั้งความเข้าใจในตรรกะทางธุรกิจและความเชี่ยวชาญทางเทคโนโลยี คุณจำเป็นต้องเข้าใจจากมุมมองของผู้ใช้ในโลกความเป็นจริง รวมถึงมุมมองทางเทคโนโลยีในโลกดิจิทัล ด้านล่างนี้คือกรอบการทำงานที่แข็งแกร่งเพื่อเริ่มต้นการเดินทางนั้น
1. คุณจะระบุสถานการณ์ทดสอบที่เหมาะสมได้อย่างไร?
ก่อนที่คุณจะเขียนกรณีทดสอบ ให้เข้าใจสถานการณ์จริงที่ฟีเจอร์นี้จะถูกใช้งาน อ่านเรื่องราวของผู้ใช้ ศึกษาเอกสารข้อกำหนด หรือแม้แต่พูดคุยรายละเอียดกับนักพัฒนา
ตัวอย่างเช่น สถานการณ์ทดสอบในตัวอย่างก่อนหน้าจะเป็น: ผู้ใช้สมัครสมาชิกจดหมายข่าวสำเร็จ
ในขั้นตอนนี้ สิ่งสำคัญคือต้องถามว่าเอกสารข้อกำหนดได้อธิบายลักษณะของผู้ใช้ในลักษณะเฉพาะใดหรือไม่
ตัวอย่างเช่น หากคุณกำลังสร้างฟังก์ชันจดหมายข่าวสำหรับลูกค้าที่ชำระเงินเท่านั้น คุณจะมีสถานการณ์ที่ผู้ใช้ที่ไม่ได้ชำระเงินอาจพยายามสมัครสมาชิก
ดังนั้น กรุณาตรวจสอบข้อกำหนด, ข้อมูลจำเพาะ, และเรื่องราวของผู้ใช้อย่างละเอียด
2. วัตถุประสงค์มีอิทธิพลต่อกรณีทดสอบของคุณอย่างไร?
ในขั้นตอนนี้ ให้กำหนดสิ่งที่คุณต้องการบรรลุจากการทดสอบของคุณ ตัวอย่างเช่น หากคุณเพียงแค่ทดสอบว่าฟีเจอร์ทำงานตามที่วางแผนไว้หรือไม่ คุณจะต้องเขียนกรณีทดสอบเชิงฟังก์ชัน
อย่างไรก็ตาม หากคุณต้องการให้มีความปลอดภัยและมีประสิทธิภาพ คุณจะต้องเขียนกรณีทดสอบที่สอดคล้องกันด้วยเช่นกัน สิ่งนี้จะช่วยปรับปรุงกระบวนการทดสอบแบบอไจล์ของคุณให้มีประสิทธิภาพมากขึ้น และนำเสนอผลลัพธ์ให้กับทีมพัฒนา
3. อะไรที่ทำให้ขั้นตอนการทดสอบชัดเจนและสามารถทำซ้ำได้?
ขั้นตอนนี้มากกว่าการระบุขั้นตอนการทำงานเท่านั้น มันคือทุกสิ่งที่ QA จำเป็นต้องทำเพื่อให้แน่ใจว่าฟีเจอร์ทำงานตามที่คาดหวัง
ทำให้ละเอียดถี่ถ้วน: ให้รายละเอียดมากที่สุดเท่าที่จะเป็นไปได้ รวมถึงสิ่งที่ต้องเกิดขึ้นตามการกระทำของผู้ใช้หรือระบบ ตัวอย่างเช่น คุณอาจเขียนว่า:
- กรุณากรอกชื่อในช่องชื่อ
- หากชื่อมีตัวเลขอยู่ด้วย ให้แสดงข้อความแสดงข้อผิดพลาดว่า "กรุณาใส่ชื่อที่มีเพียงตัวอักษรและช่องว่างเท่านั้น"
- หากชื่อมีอักขระพิเศษ ให้แสดงข้อความแสดงข้อผิดพลาดว่า "กรุณาป้อนชื่อที่มีเพียงตัวอักษรและช่องว่างเท่านั้น"
- หากชื่อเป็นเพียงตัวที่แทนที่ ให้แสดงข้อความแสดงข้อผิดพลาดว่า "กรุณาป้อนชื่อที่ถูกต้อง"
- หากชื่อได้รับการตรวจสอบแล้ว ให้ผู้ใช้สามารถส่งได้
ทำให้สามารถนำกลับมาใช้ใหม่ได้: คุณสมบัติส่วนใหญ่มีการทับซ้อนกับคุณสมบัติอื่น ๆ ในอดีต ตัวอย่างเช่น ฟิลด์สำหรับการสมัครสมาชิกจดหมายข่าวอาจคล้ายกับฟิลด์สำหรับการสร้างบัญชีผู้ใช้ใหม่ คุณสามารถนำกลับมาใช้ใหม่ให้ได้มากที่สุดเพื่อรักษาความสม่ำเสมอและประสิทธิภาพ
ในความเป็นจริง คุณสามารถสร้างแม่แบบเอกสารข้อกำหนดผลิตภัณฑ์ที่สามารถนำกลับมาใช้ใหม่ได้ ซึ่งช่วยให้การสกัดสถานการณ์ทดสอบและกรณีทดสอบง่ายขึ้น
วาดกระบวนการ: สำหรับคุณลักษณะที่ซับซ้อน คุณอาจพบว่าการบันทึกกรณีทดสอบทั้งหมดในรูปแบบเชิงเส้นเป็นเรื่องยาก ในกรณีเช่นนี้ ลองใช้แผนผังงาน (flowchart)

ClickUp Whiteboardsมอบผืนผ้าใบเปล่าที่ปรับแต่งได้อย่างสูงเพื่อแสดงภาพกระบวนการทำงานของคุณ ไม่ต้องรู้สึกกดดันที่จะต้องทำมันคนเดียว สร้างแผนผังการทำงานของคุณและแชร์กับผู้มีส่วนได้ส่วนเสียทั้งหมด—นักวิเคราะห์ธุรกิจ, นักพัฒนา, ผู้จัดการทดสอบ, ฯลฯ—และได้รับการสนับสนุนจากพวกเขาก่อนที่คุณจะเริ่ม!
ตั้งค่าบริบท: ในขณะที่สถานการณ์การทดสอบได้ระบุบริบททางธุรกิจไว้แล้ว คุณจำเป็นต้องระบุการตั้งค่าการทดสอบให้ชัดเจน รวมถึงเวอร์ชันของซอฟต์แวร์ ระบบปฏิบัติการ/เบราว์เซอร์ ฮาร์ดแวร์ รูปแบบวันที่/เวลา เขตเวลา ฯลฯ นอกจากนี้ ให้เชื่อมโยงเอกสารและทรัพยากรที่อาจเป็นประโยชน์ในระหว่างการดำเนินการทดสอบด้วย
4. ควรกำหนดผลลัพธ์ที่คาดหวังอย่างไร?
นี่คือคำตอบสำหรับสิ่งที่เกิดขึ้นถ้า! ดังนั้น จะเกิดอะไรขึ้นถ้าช่องชื่อได้รับการตรวจสอบความถูกต้อง? จะเกิดอะไรขึ้นถ้าช่องชื่อ ไม่ ได้รับการตรวจสอบความถูกต้อง?
- หากผู้ใช้เป็นสมาชิกอยู่แล้ว คุณควรปฏิเสธการสมัครสมาชิกของพวกเขาหรือสมัครสมาชิกใหม่ให้พวกเขา?
- หากผู้ใช้ไม่ใช่ลูกค้าที่ชำระเงิน คุณควรขอให้พวกเขาชำระเงินตอนนี้หรือไม่
- หากผู้ใช้ยกเลิกการสมัครไว้ก่อนหน้านี้แล้ว จะทำอย่างไร? คุณควรตรวจสอบให้แน่ใจก่อนที่จะทำการสมัครใหม่หรือไม่?
ในลักษณะนี้ ให้สรุปผลลัพธ์ที่คาดหวังสำหรับทุกความเป็นไปได้ คุณลักษณะของคุณยิ่งซับซ้อน รายการของคุณก็จะยิ่งยาวขึ้น
5. ทำไมเงื่อนไขก่อนและเงื่อนไขหลังจึงจำเป็น?
ทุกวันนี้ ไม่มีฟีเจอร์ใดที่เป็นเกาะโดดเดี่ยว ในการพัฒนาซอฟต์แวร์ ทุกฟีเจอร์เชื่อมโยงกับสิ่งอื่นเสมอ ซึ่งหมายความว่าการทดสอบมีเงื่อนไขก่อนและหลังการทดสอบหลายประการ
ตัวอย่างเงื่อนไขเบื้องต้น
- ต้องเป็นลูกค้าที่ชำระเงินแล้ว
- จำเป็นต้องระบุชื่อและที่อยู่อีเมลที่ถูกต้อง
- จำเป็นต้องยอมรับข้อกำหนดและเงื่อนไข
- จำเป็นต้องใช้เวอร์ชันล่าสุดของ Chrome
- จำเป็นต้องเข้าสู่ระบบจากมือถือ
ตัวอย่างเงื่อนไขหลัง
- ต้องเพิ่มในฐานข้อมูล
- จำเป็นต้องยอมรับการสมัครสมาชิกผ่านอีเมลยืนยัน
- ต้องเพิ่มในรายชื่อจดหมายข่าวบน CRM
หากคุณเป็นผู้นำผลิตภัณฑ์ที่ต้องการเรียนรู้เกี่ยวกับการทดสอบ นี่คือเครื่องมือแบบไม่ต้องเขียนโค้ดสำหรับผู้จัดการผลิตภัณฑ์
นั่นคือพื้นฐาน เรามาดูรายละเอียดกันบ้าง
แนวทางปฏิบัติที่ดีที่สุดในการเขียนกรณีทดสอบที่แข็งแกร่งคืออะไร?
แนวทางปฏิบัติที่ดีที่สุดสำหรับการเขียนกรณีทดสอบคือ:
- คิดจากมุมมองของผู้ใช้
- ทดสอบเป้าหมายทีละข้อ
- ใช้การทบทวนโดยเพื่อนร่วมงานเพื่อค้นหาจุดบอด
- สร้างแม่แบบที่สามารถนำกลับมาใช้ใหม่ได้
- งานสนับสนุนพร้อมเครื่องมือที่เหมาะสม
มาพูดกันตามตรง: การเขียนกรณีทดสอบเป็นศิลปะอย่างหนึ่ง กรณีทดสอบที่ดีจะพบข้อบกพร่องและข้อผิดพลาดที่ไม่ได้ถูกคาดการณ์ไว้ในข้อกำหนด ตัวอย่างเช่น จะเกิดอะไรขึ้นถ้าช่องชื่อมีช่องว่างสองช่อง? หรือถ้าชื่อสกุลของผู้ใช้มีขีดกลาง?
เพื่อให้แน่ใจว่ากรณีทดสอบของคุณมุ่งเน้นในการส่งมอบซอฟต์แวร์คุณภาพสูง โปรดพิจารณาแนวทางปฏิบัติที่ดีที่สุดดังต่อไปนี้
🧠 คิดเหมือนผู้ใช้
ก่อนที่คุณจะเขียนกรณีทดสอบของคุณ ให้คิดจากมุมมองของผู้ใช้ ให้คิดอย่างวิพากษ์และละเอียด ในตัวอย่างที่เราได้หารือกันมาจนถึงตอนนี้ คุณอาจถาม:
- คำว่า 'ชื่อ' หมายถึงอะไร? ชื่อแรก? นามสกุล? หรือทั้งสองอย่าง?
- นี่คือชื่อของใคร? ควรให้ข้อความชื่อฟิลด์แสดงว่า "ชื่อของคุณ" แทนหรือไม่?
- ควรมีข้อความตัวอย่างเพื่อเป็นแนวทางให้ผู้อ่านหรือไม่?
- หากผู้ใช้ป้อนชื่อที่ไม่ถูกต้อง ข้อความแสดงข้อผิดพลาดควรระบุสิ่งที่ผิดพลาดหรือไม่?
สวมรองเท้าของผู้ใช้ สำรวจความเป็นไปได้ต่าง ๆ รวมถึงกรณีขอบเขตที่อาจเกิดขึ้น คุณอาจไม่ได้สร้างกรณีทดสอบสำหรับทุกกรณี แต่การสำรวจเหล่านี้ช่วยเสริมความแข็งแกร่งให้กับฟีเจอร์
🎯 มุ่งเน้นทำสิ่งละอย่างในแต่ละครั้ง
อย่าเขียนกรณีทดสอบการทำงาน (functional test case) ที่ทำหน้าที่เป็นทั้งกรณีทดสอบการใช้งาน (usability test case) และกรณีทดสอบฐานข้อมูล (database test case) ในคราวเดียวกัน ให้ทำสิ่งละอย่างเท่านั้น วิธีนี้จะทำให้เมื่อผลการทดสอบผ่านหรือไม่ผ่าน คุณทราบได้อย่างชัดเจนว่าอะไรที่ทำงานได้หรืออะไรที่ผิดพลาด
การรวมตัวแปรมากเกินไปในการทดสอบครั้งเดียวจะทำให้ปัญหาซับซ้อนขึ้นเมื่อการทดสอบล้มเหลว
👫 อย่าทำคนเดียว
กรณีทดสอบกำหนดคุณภาพของซอฟต์แวร์ แม้ว่าจะเป็นผู้ตรวจสอบในกระบวนการผู้สร้าง-ผู้ตรวจสอบ แต่ก็ยังต้องการการตรวจสอบโดยบุคคลที่สองอีกชั้นหนึ่ง ดังนั้น เมื่อคุณเขียนกรณีทดสอบเสร็จแล้ว ควรให้เพื่อนร่วมงานตรวจสอบอีกครั้ง
ขอให้เพื่อนร่วมงานช่วยตรวจสอบสิ่งที่คุณเขียนไว้ กระตุ้นให้พวกเขาค้นหาข้อผิดพลาดและให้ข้อเสนอแนะอย่างตรงไปตรงมา การทำเช่นนี้ร่วมกับนักวิเคราะห์ธุรกิจและนักพัฒนาจะช่วยให้เข้าใจเจตนาของพวกเขาได้ชัดเจนยิ่งขึ้น
♻️ สร้างแม่แบบที่สามารถนำกลับมาใช้ใหม่ได้
ในบรรดาแนวทางปฏิบัติที่ดีที่สุดในการเขียนกรณีทดสอบทั้งหมด การสร้างเทมเพลตเป็นสิ่งที่สำคัญที่สุด ไม่ว่าคุณจะทดสอบฟีเจอร์ที่คล้ายกันหรือแตกต่างกันโดยสิ้นเชิง เทมเพลตจะช่วยให้โครงสร้างความคิดของคุณชัดเจนขึ้น รวมถึงองค์ประกอบสำคัญ กลไกการกำหนดหมายเลขอัตโนมัติ หรือกรอบงานเพื่อนำเสนอผลลัพธ์การทดสอบทั้งหมด
เทมเพลตกรณีทดสอบของ ClickUpเป็นตัวอย่างที่เรียบง่ายแต่ทรงพลังของวิธีที่คุณสามารถปรับปรุงประสิทธิภาพและความชัดเจนได้อย่างมากด้วยกรอบการทำงานที่สามารถทำซ้ำได้ เทมเพลตระดับผู้เริ่มต้นนี้สามารถปรับแต่งได้ ทำให้ทีมของคุณทำงานได้มากขึ้นและเร็วขึ้น นอกจากนี้ คุณยังสามารถใช้เทมเพลตนี้เพื่อระบุผู้สมัครสำหรับการทำงานอัตโนมัติและเพิ่มประสิทธิภาพการตรวจสอบคุณภาพของคุณได้อีกด้วย
🛠️ ใช้เครื่องมือที่เหมาะสม
ในทีมพัฒนาซอฟต์แวร์ การเขียนกรณีทดสอบที่ครอบคลุมสำหรับฟีเจอร์ที่ซับซ้อนอาจเป็นงานที่ใช้เวลามาก ยังไม่ต้องพูดถึงการบันทึกและจัดระเบียบเพื่อให้เข้าถึงได้ง่าย
ในการทำเช่นนี้ ให้เลือกเครื่องมือที่เหมาะสม
เครื่องมือใดที่ช่วยให้ทีมจัดการกรณีทดสอบได้อย่างมีประสิทธิภาพ?
แพลตฟอร์ม QA สมัยใหม่เชื่อมต่อการวางแผน การดำเนินการ การรายงาน และการทำงานอัตโนมัติเพื่อรักษาความครอบคลุมในระดับที่ใหญ่ขึ้น
- ClickUp: รวมงาน, ข้อบกพร่อง, การทำงานอัตโนมัติ และเทมเพลตไว้ในที่เดียว
- TestRail: การจัดการกรณีที่มีโครงสร้างและการตรวจสอบย้อนกลับ
- BrowserStack: การตรวจสอบข้ามอุปกรณ์และสภาพแวดล้อม
- Jira: การเชื่อมโยงการทดสอบกับกระบวนการทำงานด้านการพัฒนา
การจัดการกรณีทดสอบที่ดีช่วยให้คุณสามารถสร้าง จัดระเบียบ ดำเนินการ บันทึก และติดตามสิ่งที่คุณกำลังทดสอบได้ ช่วยให้ทีมทดสอบมั่นใจในความละเอียดรอบคอบโดยไม่สูญเสียประสิทธิภาพ และช่วยให้ทีมพัฒนาเห็นข้อบกพร่องได้อย่างชัดเจน
แม้ว่าประโยชน์จะมีมากมายไม่สิ้นสุด แต่ความท้าทายก็มีไม่แพ้กัน กฎทั่วไปสำหรับจำนวนกรณีทดสอบต่อฟีเจอร์คือ "มากเท่าที่จำเป็น" ทั้งนี้ขึ้นอยู่กับฟีเจอร์ของคุณ อาจจะเป็นสองกรณี เช่น หนึ่งกรณีที่เป็นบวกและหนึ่งกรณีที่เป็นลบ หรืออาจจะเป็นสามกรณี หากกรณีทดสอบมีเงื่อนไข หรืออาจจะมีมากกว่านั้นก็ได้
ในการจัดการสิ่งนี้ คุณจำเป็นต้องมีเครื่องมือที่แข็งแกร่ง. บางเครื่องมือทดสอบคุณภาพที่ดีที่สุดในปัจจุบันคือ:
คลิกอัพ
นี่คือวิธีที่ ClickUp ช่วยปรับปรุงการจัดการกรณีทดสอบ:
ClickUp สำหรับทีมซอฟต์แวร์เป็นเครื่องมือการจัดการโครงการแบบครบวงจร ออกแบบมาเพื่อสนับสนุนทุกแง่มุมของกระบวนการทางวิศวกรรม การจัดการกรณีทดสอบก็ไม่ใช่ข้อยกเว้น

การเขียนกรณีทดสอบ:ClickUpช่วยให้ทีมสามารถจัดการประสิทธิภาพของงานค้างด้วยคุณสมบัติการติดตามข้อบกพร่องและปัญหาที่แข็งแกร่ง จัดการกรณีทดสอบที่มีอยู่และสร้างกรณีใหม่ด้วย ClickUp ใช้แบบฟอร์มสำหรับทีมซอฟต์แวร์เพื่อรวบรวมคำขอ/ข้อบกพร่องและแปลงเป็นงานสำหรับทีมโดยอัตโนมัติ
การมองเห็นสำหรับการดำเนินงาน: คุณสามารถดูเป็นกระดานคัมบังที่ครอบคลุมสถานะต่างๆ หรือใช้มุมมองปฏิทินเพื่อจัดตารางเวลาได้ จัดการงานของทีม QA ด้วยมุมมอง ClickUp Workload และย้ายงานไปยังการผลิตได้เร็วขึ้น ใช้เทมเพลตการติดตามข้อบกพร่องและปัญหาของ ClickUpเพื่อดูภาพรวมของทุกสิ่งที่เกี่ยวข้องกับการทดสอบในโครงการพัฒนาซอฟต์แวร์ของคุณ
ระบบอัตโนมัติในการบริหารโครงการ: ผสานการจัดการกรณีทดสอบเข้ากับกระบวนการพัฒนาผลิตภัณฑ์ของคุณอย่างไร้รอยต่อ
ใช้ ClickUp Automations เพื่อกำหนดผู้ทดสอบที่เหมาะสมให้กับแต่ละกรณีทดสอบ เมื่อสถานะของ QA เปลี่ยน ให้กำหนดกลับไปยังนักพัฒนาโดยอัตโนมัติเพื่อตรวจสอบ
ด้วยClickUp สำหรับทีม Agile คุณสามารถสร้างรายการตรวจสอบที่สามารถนำกลับมาใช้ใหม่ได้เพื่อเพิ่มไปยังงานโดยอัตโนมัติ ตั้งค่า ClickUp Brain เพื่อช่วยให้ทีม QA เขียนรายงานได้เร็วขึ้น
แนวทางปฏิบัติที่ดีที่สุดได้ถูกตั้งค่าไว้แล้ว: ใช้เทมเพลตที่ออกแบบไว้ล่วงหน้าหลายสิบแบบเพื่อสร้างโครงสร้างให้กับกระบวนการทดสอบของคุณ เริ่มต้นด้วยเทมเพลตกรณีทดสอบหรือเทมเพลตรายงานข้อบกพร่องที่หลากหลาย
จากนั้น ลองใช้เทมเพลตการจัดการการทดสอบของ ClickUpเพื่อปรับปรุงกระบวนการทดสอบของคุณให้มีประสิทธิภาพมากขึ้น ไม่ว่าจะเป็นสถานการณ์การทดสอบ, กรณีการทดสอบ, และการรันการทดสอบ ด้วยเทมเพลตนี้ คุณสามารถติดตามกระบวนการ, ประเมินผลลัพธ์, และร่วมมือกับทีมพัฒนาเกี่ยวกับบั๊ก/ปัญหาได้
สำหรับผู้เริ่มต้น, แบบฟอร์มนี้ยังมีเอกสาร 'วิธีเริ่มต้น' ที่ครอบคลุมเพื่อแนะนำคุณผ่านกระบวนการ
กำลังสงสัยว่าจะเขียนรายงานการทดสอบอย่างไร? เรามีเทมเพลตให้คุณ ดาวน์โหลดและใช้เทมเพลตรายงานการทดสอบ ClickUpที่เหมาะสำหรับผู้เริ่มต้น เพื่อสรุปผลการทดสอบของคุณและส่งต่อให้ทีมนักพัฒนา
TestRail
TestRail เป็นแพลตฟอร์มการจัดการการทดสอบสำหรับบันทึกและติดตามแผนการทดสอบ มีคุณสมบัติสำหรับการตรวจสอบย้อนกลับ, การครอบคลุม, การทดสอบอัตโนมัติ, และการวิเคราะห์ นอกจากนี้ยังผสานการทำงานกับเครื่องมือพัฒนาซอฟต์แวร์หลายตัวและมี API ที่ครอบคลุม
BrowserStack
BrowserStack เป็นเครื่องมือทดสอบแอปและเบราว์เซอร์ ให้บริการทดสอบแอป iOS และ Android รวมถึงเว็บไซต์บนเบราว์เซอร์หลากหลายประเภท มีโมดูลเฉพาะสำหรับการทดสอบภาพ การทดสอบการเข้าถึง การสังเกตการณ์ทดสอบ การทำงานอัตโนมัติด้วยโค้ดต่ำ และอื่นๆ อีกมากมาย
จิรา
ในฐานะที่เป็นหนึ่งในเครื่องมือการจัดการโครงการแบบอไจล์ที่ได้รับความนิยมมากที่สุด Jira ยังทำหน้าที่เป็นซอฟต์แวร์ติดตามข้อบกพร่องอีกด้วย ด้วย Jira คุณสามารถเขียนกรณีทดสอบ เชื่อมโยงกับเรื่องราวของผู้ใช้ ข้อบกพร่องที่ทราบแล้ว หรือปัญหาอื่นๆ ได้
อย่างไรก็ตาม เนื่องจาก Jira ไม่ได้ถูกออกแบบมาเพื่อการจัดการกรณีทดสอบ คุณสมบัติการรายงานและการอัตโนมัติอาจมีจำกัด
พร้อมที่จะเสริมสร้างกระบวนการทดสอบซอฟต์แวร์ของคุณหรือไม่? สร้างด้วย ClickUp.
ในการพัฒนาซอฟต์แวร์ การทดสอบมีบทบาทสำคัญในการตรวจสอบให้แน่ใจว่าทุกอย่างเป็นไปด้วยดี มันให้การสนับสนุนแบบรอบด้าน 360 องศา
มันยืนยันความถูกต้องของงานทีมพัฒนา มันยืนยันความเหมาะสมกับเจตนาของทีมธุรกิจ มันยังคงภักดีต่อความต้องการของผู้ใช้ในด้านฟังก์ชันการทำงาน ประสิทธิภาพ ความปลอดภัย และความส่วนตัว
การจัดการกระบวนการที่มีความสำคัญและครอบคลุมขนาดนี้ต้องการชุดเครื่องมือที่รอบคอบ นี่คือสิ่งที่ ClickUp เป็นอย่างแท้จริง
ไม่ว่าคุณจะกำลังใช้โมเดลการพัฒนาซอฟต์แวร์แบบ Agile, Waterfall หรือแบบผสมผสาน ClickUp ก็เต็มไปด้วยฟีเจอร์ที่ออกแบบมาเพื่อให้สามารถปรับแต่งได้อย่างสูงเพื่อตอบสนองความต้องการเฉพาะของคุณ
นอกเหนือจากการจัดการงานที่ทรงพลังและหลากหลายด้านแล้ว ClickUp ยังมีชุดทดสอบ,การทำงานอัตโนมัติ DevOps, การผสานรวม, และเทมเพลตที่ทรงพลังอีกด้วย ดูด้วยตัวคุณเองทดลองใช้ ClickUp ฟรีวันนี้



