คู่มือฉบับย่อเกี่ยวกับการทดสอบซอฟต์แวร์ - มาตรฐานและกระบวนการ

เผยแพร่แล้ว: 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 ดำเนินการโดยผู้ใช้ปลายทางของผลิตภัณฑ์เพื่อขออนุมัติและปรับใช้รุ่นการผลิต