Key points
-
สิ่งที่ test ทำคือสามารถแสดงเฉพาะข้อผิดพลาดในโปรแกรมได้ แต่ไม่สามารถแสดงให้เห็นว่าไม่มีข้อผิดพลาดใด ๆ หลงเหลืออยู่
-
การพัฒนา testing เป็นความรับผิดชอบของทีมพัฒนาซอฟต์แวร์ ส่วนการทดสอบระบบก่อนที่จะเผยแพร่ให้กับลูกค้า ควรเป็นความรับผิดชอบของทีมที่แยกจากกันโดยอิสระ
-
การพัฒนาการทดสอบประกอบด้วย
-
unit test จะทดสอบแต่ละชิ้นส่วน
-
component testing จะทดสอบกลุ่มของวัตถุ
-
system testing จะทดสอบระบบบางส่วนหรือแบบสมบูรณ์
-
ควรลอง 'แบ่งส่วน' ซอฟต์แวร์ที่จะทดสอบ โดยใช้ประสบการณ์และแนวทางในการเลือกประเภทของ test case ที่มีประสิทธิภาพในการค้นพบข้อบกพร่องจากที่พบในระบบอื่น ๆ
-
ถ้าเป็นไปได้ควรเขียนการทดสอบอัตโนมัติ ซึ่งการทดสอบจะฝังอยู่ในโปรแกรมที่สามารถเรียกใช้ได้ทุกครั้งที่มีการเปลี่ยนแปลงระบบ
-
การทดสอบก่อนพัฒนา (Test-first development) เป็นแนวทางในการพัฒนาซึ่งจะมีการเขียน test ที่จะทดสอบก่อนที่จะเขียน code
-
การทดสอบการยอมรับคือกระบวนการทดสอบของผู้ใช้ โดยมีวัตถุประสงค์เพื่อพิจารณาว่าซอฟต์แวร์มีดีพอที่จะติดตั้งและใช้งานในสภาพแวดล้อมการดำเนินงานของผู้ใช้ได้หรือไม่