การทดสอบส่วนประกอบคืออะไร? เทคนิค ตัวอย่างกรณีทดสอบ
การทดสอบส่วนประกอบคืออะไร?
การทดสอบส่วนประกอบถูกกำหนดให้เป็นประเภทการทดสอบซอฟต์แวร์ โดยที่การทดสอบจะดำเนินการกับส่วนประกอบแต่ละส่วนแยกกันโดยไม่บูรณาการกับส่วนประกอบอื่น เรียกอีกอย่างว่าการทดสอบโมดูลเมื่อพิจารณาจากมุมมองของสถาปัตยกรรม การทดสอบส่วนประกอบเรียกอีกอย่างว่าการทดสอบยูนิต การทดสอบโปรแกรม หรือการทดสอบโมดูล
โดยทั่วไปแล้ว ซอฟต์แวร์ใดๆ โดยรวมจะประกอบด้วยส่วนประกอบหลายอย่าง การทดสอบระดับส่วนประกอบเกี่ยวข้องกับการทดสอบส่วนประกอบเหล่านี้แยกกัน
เป็นประเภทการทดสอบกล่องดำที่พบบ่อยที่สุดซึ่งดำเนินการโดยทีม QA
ตามแผนภาพด้านล่าง จะมีกลยุทธ์การทดสอบและแผนการทดสอบสำหรับการทดสอบส่วนประกอบต่างๆ โดยที่แต่ละส่วนของซอฟต์แวร์หรือแอปพลิเคชันได้รับการพิจารณาเป็นรายบุคคล สำหรับแต่ละองค์ประกอบนี้ สถานการณ์ทดสอบ จะถูกกำหนด ซึ่งจะถูกนำมาเพิ่มเติมลงในกรณีการทดสอบระดับสูง -> กรณีการทดสอบโดยละเอียดระดับต่ำพร้อมข้อกำหนดเบื้องต้น
การใช้คำว่า “การทดสอบส่วนประกอบ” แตกต่างกันไปในแต่ละโดเมนและแต่ละองค์กร
สาเหตุที่พบบ่อยที่สุดสำหรับการรับรู้ที่แตกต่างกันของการทดสอบส่วนประกอบคือ
- ประเภทของแบบจำลองวงจรชีวิตการพัฒนาที่เลือก
- ความซับซ้อนของซอฟต์แวร์หรือแอปพลิเคชันที่กำลังทดสอบ
- การทดสอบโดยมีหรือไม่มีการแยกออกจากส่วนประกอบอื่นๆ ในซอฟต์แวร์หรือแอปพลิเคชัน
ดังที่เราทราบวงจรชีวิตการทดสอบซอฟต์แวร์ Architecture มีสิ่งประดิษฐ์ในการทดสอบมากมาย (เอกสารที่ทำขึ้น ใช้ในกิจกรรมการทดสอบ) ในบรรดาการทดสอบจำนวนมาก - อาร์ติแฟกต์ นโยบายการทดสอบและกลยุทธ์การทดสอบจะกำหนดประเภทของการทดสอบ ความลึกของการทดสอบที่จะดำเนินการในโปรเจ็กต์ที่กำหนด
ใครทำการทดสอบส่วนประกอบ
การทดสอบส่วนประกอบดำเนินการโดยผู้ทดสอบ 'การทดสอบหน่วย' ดำเนินการโดยนักพัฒนาโดยทำการทดสอบฟังก์ชันหรือขั้นตอนแต่ละรายการ หลังจาก การทดสอบหน่วย ดำเนินการแล้ว การทดสอบครั้งต่อไปคือการทดสอบส่วนประกอบ การทดสอบส่วนประกอบจะกระทำโดยผู้ทดสอบ
เมื่อใดที่ควรทำการทดสอบส่วนประกอบ
การทดสอบส่วนประกอบจะดำเนินการทันทีหลังจากการทดสอบหน่วยเสร็จสิ้นโดยนักพัฒนาและมีการเปิดตัวบิลด์สำหรับทีมทดสอบ โครงสร้างนี้เรียกว่า UT build (Unit Testing Build) ฟังก์ชันการทำงานหลักของส่วนประกอบทั้งหมดได้รับการทดสอบในขั้นตอนนี้
เกณฑ์รายการสำหรับการทดสอบส่วนประกอบ
- จำนวนส่วนประกอบขั้นต่ำที่จะรวมไว้ใน UT ควรได้รับการพัฒนาและทดสอบหน่วย
ออกจากเกณฑ์สำหรับการทดสอบส่วนประกอบ
- การทำงานของส่วนประกอบทั้งหมดควรจะทำงานได้ดี
- ไม่ควรมีข้อบกพร่องที่มีความรุนแรงและลำดับความสำคัญระดับวิกฤต สูง หรือปานกลาง ข้อบกพร่อง เข้าสู่ระบบ
เทคนิคการทดสอบส่วนประกอบ
ขึ้นอยู่กับระดับความลึกของการทดสอบ การทดสอบส่วนประกอบสามารถแบ่งได้เป็น
- CTIS – การทดสอบส่วนประกอบในขนาดเล็ก
- CTIL – การทดสอบส่วนประกอบในขนาดใหญ่
CTIS – การทดสอบส่วนประกอบในขนาดเล็ก
การทดสอบส่วนประกอบอาจทำได้โดยมีหรือไม่มีการแยกส่วนประกอบอื่นๆ ที่เหลือในซอฟต์แวร์หรือแอปพลิเคชันภายใต้การทดสอบ หากดำเนินการโดยมีการแยกส่วนประกอบอื่นออก จะเรียกว่าการทดสอบส่วนประกอบในระดับเล็ก
1 ตัวอย่าง: พิจารณาเว็บไซต์ที่มีหน้าเว็บที่แตกต่างกัน 5 หน้า จากนั้นทดสอบแต่ละหน้าเว็บแยกกัน และการแยกส่วนประกอบอื่นๆ เรียกว่าการทดสอบส่วนประกอบใน Small
2 ตัวอย่าง: ลองพิจารณาหน้าแรกของเว็บไซต์ guru99.com ซึ่งมีองค์ประกอบหลายอย่างเช่น
หน้าแรก ทดสอบ SAP, เว็บไซต์, ต้องเรียนรู้!, บิ๊กดาต้า, โปรเจกต์สด, บล็อก และอื่นๆ
ในทำนองเดียวกัน ซอฟต์แวร์ใดๆ ก็ตามประกอบด้วยส่วนประกอบจำนวนมาก และทุกส่วนประกอบก็จะมีส่วนประกอบย่อยของตัวเองด้วย การทดสอบแต่ละโมดูลที่กล่าวถึงในตัวอย่างที่ 2 แยกกันโดยไม่พิจารณาการรวมเข้ากับส่วนประกอบอื่นๆ เรียกว่า การทดสอบส่วนประกอบในขนาดเล็ก

คลิกที่เมนูแบบเลื่อนลงการทดสอบตามสแนปโชว์ด้านล่างและดูต่างๆ “ส่วนประกอบย่อย” ของส่วนประกอบการทดสอบ ดังนั้นส่วนประกอบย่อยที่แสดงคือ การทดสอบด้วยตนเอง, สบู่, QTP, JUnit, Selenium, การจัดการทดสอบ, Selenium, โทรศัพท์มือถือ การทดสอบ ฯลฯ
หมายเหตุ ส่วนประกอบย่อยถูกกล่าวถึงด้วยสีไฮไลต์สีแดงในภาพรวมด้านล่าง
CTIL – การทดสอบส่วนประกอบในขนาดใหญ่
การทดสอบส่วนประกอบที่ทำโดยไม่มีการแยกส่วนประกอบอื่นๆ ในซอฟต์แวร์หรือแอปพลิเคชันภายใต้การทดสอบเรียกว่าการทดสอบส่วนประกอบขนาดใหญ่
ลองยกตัวอย่างเพื่อทำความเข้าใจให้ดีขึ้น สมมติว่ามีแอปพลิเคชันประกอบด้วยส่วนประกอบ 3 ส่วนกล่าวว่า ส่วนประกอบ ก, ส่วนประกอบ ข, และ ส่วนประกอบ C.
นักพัฒนาซอฟต์แวร์ได้พัฒนาส่วนประกอบ B และต้องการทดสอบ แต่เพื่อที่จะ อย่างสมบูรณ์ ทดสอบส่วนประกอบ B ฟังก์ชันบางอย่างขึ้นอยู่กับส่วนประกอบ A และบางส่วนขึ้นอยู่กับส่วนประกอบ C
โฟลว์ฟังก์ชันการทำงาน: A -> ข -> C ซึ่งหมายความว่ามีการพึ่งพา B จากทั้ง A & C ตามแผนภาพ stub คือ เรียกว่าฟังก์ชัน และคนขับคือ ฟังก์ชั่นการโทร.
แต่ส่วนประกอบ A และส่วนประกอบ C ยังไม่ได้รับการพัฒนา ในกรณีนั้น เพื่อทดสอบส่วนประกอบ B โดยสมบูรณ์ เราสามารถแทนที่ส่วนประกอบ A และส่วนประกอบ C ด้วย stub และไดรเวอร์ได้ตามต้องการ โดยพื้นฐานแล้ว ส่วนประกอบ A & C จะถูกแทนที่ด้วย stub & driver ซึ่งทำหน้าที่เป็นวัตถุจำลองจนกว่าพวกมันจะได้รับการพัฒนาจริง
- ต้นขั้ว: Stub ถูกเรียกจากส่วนประกอบซอฟต์แวร์ที่จะทดสอบดังแสดงในแผนภาพด้านล่าง 'Stub' ถูกเรียกโดย Component A
- ไดร์เวอร์: ไดรเวอร์เรียกส่วนประกอบที่จะทดสอบดังแสดงในแผนภาพด้านล่าง 'ส่วนประกอบ B' ถูกเรียกโดยไดรเวอร์
ตัวอย่างกรณีทดสอบสำหรับการทดสอบส่วนประกอบ
พิจารณาหน้าเว็บ 2 หน้าตามไดอะแกรมที่กล่าวถึงด้านล่าง ที่นี่หน้าเว็บทั้งสองมีความเกี่ยวข้องกันจากมุมมองของฟังก์ชันการทำงาน
- หน้าเว็บที่ 1 เป็นหน้าเข้าสู่ระบบ demo.guru99.com
เมื่อผู้ใช้ป้อนรหัสผู้ใช้และรหัสผ่านที่ถูกต้องในช่องข้อความและคลิกที่ปุ่มส่ง หน้าเว็บจะถูกนำทางไปยังหน้าแรกของเว็บไซต์ธนาคารสาธิต guru99
- หน้าเว็บที่ 2 เป็นหน้าแรกของ Guru99.com
ดังนั้นหน้าเข้าสู่ระบบจึงเป็นองค์ประกอบหนึ่ง และหน้าแรกก็เป็นอีกองค์ประกอบหนึ่ง ตอนนี้เรียกว่าการทดสอบการทำงานของแต่ละหน้าแยกกัน การทดสอบส่วนประกอบ.
สถานการณ์การทดสอบส่วนประกอบบนหน้าเว็บ 1 –
- ป้อนรหัสผู้ใช้ไม่ถูกต้องและตรวจสอบว่าป๊อปอัปคำเตือนที่เป็นมิตรต่อผู้ใช้แสดงต่อผู้ใช้ปลายทางหรือไม่
- ป้อน ID ผู้ใช้และรหัสผ่านไม่ถูกต้อง และคลิกที่ 'รีเซ็ต' และตรวจสอบว่าข้อมูลที่ป้อนในช่องข้อความ ID ผู้ใช้และรหัสผ่านถูกล้างออกไปแล้ว
- กรอกชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง และคลิกที่ปุ่ม 'เข้าสู่ระบบ'
สถานการณ์การทดสอบส่วนประกอบบนหน้าเว็บ 2 –
- ตรวจสอบว่าข้อความ “ยินดีต้อนรับสู่หน้าผู้จัดการของธนาคาร Guru99” แสดงอยู่บนหน้าแรกหรือไม่
- ตรวจสอบว่าลิงก์ทั้งหมดทางด้านซ้ายของหน้าเว็บสามารถคลิกได้หรือไม่
- ตรวจสอบว่ารหัสผู้จัดการจะแสดงอยู่ตรงกลางหน้าแรกหรือไม่
- ตรวจสอบการมีอยู่ของรูปภาพที่แตกต่างกัน 3 รูปในหน้าแรกตามแผนภาพ
การทดสอบหน่วยเทียบกับการทดสอบส่วนประกอบ
| การทดสอบหน่วย | การทดสอบส่วนประกอบ |
|---|---|
| การทดสอบแต่ละโปรแกรม โมดูลเพื่อแสดงให้เห็นว่าโปรแกรมดำเนินการตามข้อกำหนดที่เรียกว่า การทดสอบหน่วย | การทดสอบแต่ละอ็อบเจ็กต์หรือส่วนของซอฟต์แวร์แยกกันโดยมีหรือไม่มีการแยกอ็อบเจ็กต์อื่นเรียกว่า การทดสอบส่วนประกอบ |
| ตรวจสอบกับเอกสารการออกแบบ | ได้รับการตรวจสอบตามข้อกำหนดการทดสอบและกรณีการใช้งาน |
| การทดสอบหน่วยทำได้โดยนักพัฒนา | การทดสอบส่วนประกอบทำได้โดยผู้ทดสอบ |
| การทดสอบหน่วยเสร็จสิ้นก่อน | การทดสอบส่วนประกอบเสร็จสิ้นหลังจากการทดสอบหน่วยเสร็จสิ้นจากฝั่งนักพัฒนา |
สรุป
In วิศวกรรมซอฟต์แวร์การทดสอบส่วนประกอบมีบทบาทสำคัญในการค้นหาจุดบกพร่อง ก่อนที่เราจะเริ่ม การทดสอบการผสานรวม หลังจากการทดสอบส่วนประกอบและการทดสอบการรวมระบบ ตามด้วยการทดสอบส่วนประกอบ
การทดสอบส่วนประกอบยังเรียกว่าการทดสอบโมดูลในการอ้างอิงบางส่วน




