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