คู่มือฉบับย่อเกี่ยวกับการทดสอบซอฟต์แวร์ - มาตรฐานและกระบวนการ
เผยแพร่แล้ว: 2021-05-18“รหัสทั้งหมดมีความผิดจนกว่าจะผ่านการทดสอบว่าบริสุทธิ์” – ผู้เชี่ยวชาญด้านเทคโนโลยีที่ไม่รู้จัก
คุณไม่สามารถมีซอฟต์แวร์ที่ดีได้โดยไม่ปล่อยให้มันผ่านการทดสอบอย่างเข้มงวด ในบทความนี้ คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับมาตรฐานและกระบวนการทดสอบซอฟต์แวร์ที่คุณควรปฏิบัติตามเพื่อให้สามารถให้ผลลัพธ์ที่ดีขึ้น
การทดสอบซอฟต์แวร์คืออะไร?
พูดง่ายๆ ก็คือ การทดสอบซอฟต์แวร์ทำให้ซอฟต์แวร์ดีขึ้น เป็นกระบวนการที่ระบุความถูกต้อง ความสมบูรณ์ และคุณภาพของซอฟต์แวร์ที่พัฒนาขึ้น การทดสอบมีความสำคัญเนื่องจากจะเปิดเผยข้อบกพร่อง/จุดบกพร่องก่อนส่งมอบให้กับลูกค้า ซึ่งรับประกันคุณภาพของซอฟต์แวร์ ทำให้ซอฟต์แวร์มีความน่าเชื่อถือในการใช้งานมากขึ้น

ขั้นตอนการทดสอบซอฟต์แวร์

มาดูขั้นตอนการทดสอบซอฟต์แวร์ตามรายการด้านบนกัน:
การวิเคราะห์ความต้องการ:
การวิเคราะห์ข้อกำหนดกำหนดความคาดหวังของผู้ใช้ปลายทางสำหรับแอปพลิเคชันซอฟต์แวร์ที่จะสร้าง/แก้ไข ดังนั้น การวิเคราะห์ข้อกำหนดหมายถึงการวิเคราะห์ รายงาน จัดทำเอกสาร ตรวจสอบและจัดการซอฟต์แวร์หรือข้อกำหนดของระบบ
วิศวกรทดสอบจำเป็นต้องดำเนินการดังต่อไปนี้เพื่อดำเนินการวิเคราะห์ข้อกำหนดให้เสร็จสิ้น
- อ่านข้อกำหนดแต่ละข้อเพื่อตรวจสอบความครบถ้วน ความชัดเจน ความคลุมเครือ หากมี
- ตรวจสอบว่าสถานการณ์ที่เป็นไปได้ทั้งหมดได้รับการพิจารณาในขั้นตอนการวิเคราะห์ความต้องการ และพยายามระบุกรณีและปัญหาที่ยังไม่ถูกเปิดเผยทั้งหมดหรือช่องว่างใดๆ
- อภิปรายคำถามหรือข้อสงสัยที่เกิดจากการวิเคราะห์ความต้องการในแต่ละวันเพื่อให้ทีมงานมีความเข้าใจตรงกัน
- ต้องใช้เมทริกซ์ความสามารถในการตรวจสอบย้อนกลับข้อกำหนดเพื่อให้แน่ใจว่าซอฟต์แวร์ที่อยู่ภายใต้การทดสอบครอบคลุมข้อกำหนดทั้งหมด
ด้านล่างนี้เป็นตัวอย่างเทมเพลตของ RTM (Requirements Traceability Matrix)

เครดิต: Opencodez
การวางแผนการทดสอบ:
แผนการทดสอบคือเอกสารที่อธิบายวัตถุประสงค์ของการทดสอบ กำหนดการ การประมาณการ สิ่งที่ส่งมอบ และทรัพยากรที่จำเป็นในการทดสอบซอฟต์แวร์ในแอปพลิเคชันซอฟต์แวร์ แผนการทดสอบช่วยในการทำความเข้าใจและกำหนดความพยายามที่จำเป็นในการตรวจสอบคุณภาพของแอปพลิเคชันที่อยู่ระหว่างการทดสอบ ด้านล่างนี้เป็นตัวอย่างแผนการทดสอบเปรียว:

เครดิต: zenq
การออกแบบการทดสอบ:
การออกแบบการทดสอบเป็นขั้นตอนที่มีการออกแบบกรณีการใช้งานที่จำเป็นสำหรับการทดสอบ การออกแบบการทดสอบดำเนินการตามแผนการทดสอบ เคสทดสอบที่ออกแบบมาจะต้องครอบคลุมข้อกำหนดทั้งหมดของแอพพลิเคชั่นซอฟต์แวร์ การทำแผนที่ของกรณีทดสอบด้วยเมทริกซ์การตรวจสอบย้อนกลับยังถือว่าจำเป็นด้วย เพื่อให้ครอบคลุมช่องว่างความต้องการทั้งหมด
สถานการณ์การทดสอบ/กรณีทดสอบที่ออกแบบตามเทคนิคการออกแบบการทดสอบด้านล่าง เพื่อให้แน่ใจว่าครอบคลุมการทดสอบอย่างสมบูรณ์ในเส้นทางที่มีความสุขและการทดสอบสถานการณ์เชิงลบ
- การวิเคราะห์ค่าขอบเขต (BVA)
- การแบ่งพาร์ทิชันเทียบเท่า (EP)
- ใช้การทดสอบกรณี
- การทดสอบตามผลกระทบ
ด้านล่างนี้คือตัวอย่างเทมเพลตการออกแบบการทดสอบ

เครดิต: https://www.softwaretestingclass.com/
การตั้งค่าสภาพแวดล้อมการทดสอบ:
สภาพแวดล้อมการทดสอบเป็นแพลตฟอร์มที่สร้างขึ้นสำหรับการปรับใช้และดำเนินการกรณีทดสอบในแอปพลิเคชันซอฟต์แวร์ สภาพแวดล้อมสำหรับการทดสอบถูกสร้างขึ้นโดยการรวมฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็นพร้อมกับการกำหนดค่าเครือข่ายที่จำเป็นและการตั้งค่าที่จำเป็น ก่อนเริ่มการทดสอบใดๆ จำเป็นต้องทำการทดสอบควันในสภาพแวดล้อมการทดสอบเสมอ เพื่อตรวจสอบความเป็นไปได้ของสภาพแวดล้อมการทดสอบ

การดำเนินการทดสอบ:
การดำเนินการทดสอบเป็นกระบวนการของการดำเนินการกรณีทดสอบที่ออกแบบ จัดทำเอกสารและเปรียบเทียบผลลัพธ์ที่คาดหวังและตามจริง ปัจจัยต่อไปนี้ได้รับการพิจารณาสำหรับการดำเนินการทดสอบโดยพิจารณาจากความเสี่ยง เลือกชุดย่อยของชุดการทดสอบที่จะดำเนินการสำหรับรอบนี้ และกำหนดให้กับผู้ทดสอบ/นักวิเคราะห์คุณภาพที่เกี่ยวข้อง
- ดำเนินการทดสอบตามกรณีทดสอบ / สถานการณ์ทดสอบที่ออกแบบตามแผนการทดสอบ
- การสังเกต - บันทึกไว้ในตั๋ว JIRA ที่เกี่ยวข้องตามที่พบในระหว่างการดำเนินการทดสอบ
- เอกสารหลักฐานการทดสอบบนตั๋ว JIRA ที่เกี่ยวข้องประกอบด้วยดังต่อไปนี้
◦ สถานะการทดสอบ: PASS / FAIL - แสดงสถานะการทดสอบของตั๋ว JIRA
◦ URL ทดสอบ: ประกอบด้วยข้อมูลการทดสอบที่ใช้สำหรับการทดสอบข้อกำหนดเฉพาะ
◦ สถานการณ์การทดสอบและภาพหน้าจอ
- Sanity & Regression - การทดสอบความมีสติและการถดถอยจะดำเนินการในสภาพแวดล้อมที่สูงขึ้น (STG) เป็นประจำที่สิ้นสุดการวิ่งทุกครั้งซึ่งเป็นส่วนหนึ่งของมาตรการการทดสอบ Pre UAT
ปิดการทดสอบ:
รายการตรวจสอบการปิดการทดสอบ sprint ทำให้แน่ใจว่าได้ทำกิจกรรมต่อไปนี้เมื่อสิ้นสุดการวิ่งแต่ละครั้ง เพื่อให้การเปลี่ยนระหว่างการวิ่งหลายรอบเป็นไปอย่างราบรื่น
- การทดสอบการทำงานเสร็จสิ้นตามระยะเวลาที่มีความครอบคลุมครบถ้วน
- ข้อสังเกตทั้งหมดได้รับการบันทึกและจัดการโดยทีมงาน
- บันทึกการสังเกตที่ถูกต้องว่าเป็นข้อบกพร่องและมอบหมายให้กับเจ้าของตั๋วที่เกี่ยวข้อง
- เอกสารหลักฐานการทดสอบที่อัปเดตสำหรับแต่ละตั๋วพร้อมผลการทดสอบด้วยตนเองและการทดสอบอุปกรณ์ที่เกี่ยวข้อง
- การทดสอบการถดถอยดำเนินการในสภาพแวดล้อมการทดสอบก่อนที่จะรวมรหัสเข้ากับสภาพแวดล้อมที่สูงขึ้นเช่น ในกรณีนี้จาก Dev ถึง STG
การทดสอบอุปกรณ์/การทดสอบข้ามเบราว์เซอร์:
การทดสอบอุปกรณ์/ข้ามเบราว์เซอร์เป็นกระบวนการที่อุปกรณ์/เบราว์เซอร์ได้รับการทดสอบคุณภาพเพื่อดูว่าเป็นไปตามข้อกำหนดที่พัฒนาขึ้นมาเพียงใด การทดสอบอุปกรณ์/ข้ามเบราว์เซอร์ครอบคลุมรายการอุปกรณ์/เบราว์เซอร์ด้านล่างตามที่ลูกค้ายืนยัน สแต็กเบราว์เซอร์ที่ใช้เป็นแพลตฟอร์มสำหรับการทดสอบอุปกรณ์

การทดสอบซอฟต์แวร์ประเภทต่างๆ
การทดสอบหน่วย:
การทดสอบหน่วยกำลังตรวจสอบโค้ดหน่วยเล็กๆ เพื่อส่งข้อมูลก่อนเวลา เพื่อเพิ่มความเร็วให้กับกลยุทธ์การทดสอบของคุณ และลดรอบการทดสอบที่ไม่ต้องการ การทดสอบหน่วยมักจะดำเนินการโดยนักพัฒนาก่อนที่โค้ดจะถูกส่งไปยังทีมทดสอบซอฟต์แวร์
การทดสอบควัน:
การทดสอบควันเป็นขั้นตอนการทดสอบซอฟต์แวร์ที่กำหนดว่าซอฟต์แวร์ที่ปรับใช้นั้นเสถียรหรือไม่ การทดสอบควันเป็นการยืนยันให้ทีมทดสอบดำเนินการทดสอบซอฟต์แวร์ต่อไป ประกอบด้วยชุดการทดสอบขั้นต่ำเพื่อรันในแต่ละบิลด์เพื่อทดสอบฟังก์ชันซอฟต์แวร์
การทดสอบการรวม:
Integration Tests ถูกกำหนดให้เป็นประเภทของการทดสอบที่ดำเนินการในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์แบบบูรณาการ เพื่อตรวจสอบการทำงานของระบบ ส่วนประกอบซอฟต์แวร์/ฮาร์ดแวร์ได้รับการผสานรวมและทดสอบไปเรื่อยๆ จนกว่าระบบที่สมบูรณ์จะได้รับการทดสอบ
การทดสอบระบบ:
การทดสอบระบบของผลิตภัณฑ์ซอฟต์แวร์ที่ผสานรวมอย่างสมบูรณ์ เป็นการทดสอบขั้นสุดท้ายเพื่อตรวจสอบว่าผลิตภัณฑ์ที่จัดส่งตรงตามข้อกำหนดข้อกำหนดที่ระบุไว้ในเอกสารข้อกำหนด ควรพิจารณาข้อกำหนดทั้งด้านการทำงานและไม่ใช่หน้าที่ในขอบเขต
การทดสอบการถดถอย:
การถดถอยจะตรวจสอบว่าการเปลี่ยนแปลงโค้ดล่าสุดไม่เปลี่ยนแปลงหรือทำลายฟังก์ชันที่มีอยู่แล้ว การทดสอบการถดถอยมีทั้งเซตย่อย/การถดถอยเต็ม ทั้งสองแบบครอบคลุมได้ด้วยสถานการณ์การทดสอบแบบแมนนวลหรือแบบอัตโนมัติ
การทดสอบการยอมรับของผู้ใช้ (UAT):
การทดสอบการยอมรับของผู้ใช้เป็นหนึ่งในขั้นตอนสุดท้ายของวงจรชีวิตการทดสอบซอฟต์แวร์ และจะดำเนินการโดยลูกค้าหลังจากที่ซอฟต์แวร์ได้รับการทดสอบอย่างละเอียดถี่ถ้วนแล้ว UAT ดำเนินการโดยผู้ใช้ปลายทางของผลิตภัณฑ์เพื่อขออนุมัติและปรับใช้รุ่นการผลิต
