ผู้พัฒนาควรทำการทดสอบเบื้องต้นเพื่อที่เราจะได้รู้ว่าชิ้นส่วนที่เราได้เขียนนั้นจะทำงานได้อย่างที่คาดหวังตามข้อกำหนดที่เราได้รับ ดังนั้นเราจึงทำการทดสอบปกติเช่นเดียวกับการเขียนการทดสอบหน่วยสำหรับรหัสที่เราเขียน
ขั้นตอนต่อไปคืองานของ QAs เพื่อค้นหาสิ่งที่นักพัฒนาไม่เห็นเมื่อเราเขียนรหัส นักพัฒนาคิดในระดับที่สูงขึ้น แต่ผู้ใช้อาจไม่คิดในระดับเดียวกัน เมื่อนักพัฒนากำลังทดสอบชิ้นส่วนของเขาและต้องป้อนข้อความบางส่วนในกล่องข้อความเขาอาจป้อนสตริงที่ผู้ใช้คิดอย่างเต็มรูปแบบและจะทำเช่นนั้นเสมอ อาจเป็นผู้ใช้ก็อาจทำเช่นนั้น แต่สุ่มเมื่อเขาป้อนอักขระพิเศษเช่น% & $ ^ ในข้อความและการแบ่งแอปพลิเคชันจะดูไม่ดีสำหรับผู้ใช้ปลายทาง ผู้พัฒนาไม่สามารถและจะไม่คิดถึงความเป็นไปได้ทั้งหมดที่อาจเกิดขึ้นเพราะเขาไม่ได้รับการฝึกฝนให้คิดเช่นนั้น เมื่อพูดถึง QA (ผู้ทดสอบ) พวกเขามักจะคิดถึงสิ่งที่ผู้ใช้อาจทำเพื่อทำลายแอปพลิเคชันนี้และลองทุกสิ่งที่โง่ในหนังสือไม่ใช่ผู้ใช้ที่โง่ แต่เราไม่ควรปล่อยให้โอกาส
ตอนนี้เราต้องเข้าใจว่าโดยทั่วไปมีมากกว่าหนึ่งชิ้นที่ทำในเวลาเดียวกันและทั้งสองจะไปผลิต นักพัฒนาสามารถทดสอบเฉพาะชิ้นส่วนของเขาและคิดว่าทำงานได้ดี แต่การทดสอบการถดถอยโดยรวมจำเป็นต้องทำสำหรับชิ้นส่วนทั้งหมดที่ถูกผลักรวมทั้งพบว่าการรวมกันของสองชิ้นที่แตกต่างกันอาจทำให้แอปพลิเคชันเสียหาย ดูไม่ดีเหมือนกัน เราต้องพิจารณาสถานการณ์การทดสอบโหลดและสิ่งอื่น ๆ ที่ผู้ทดสอบคุ้นเคยมากขึ้น
ในที่สุดเราต้องผ่านการทดสอบการยอมรับของผู้ใช้ (UAT) เพื่อดูว่าชิ้นส่วนที่เราทำนั้นเป็นสิ่งที่คาดหวังหรือไม่ โดยทั่วไปแม้ว่าความต้องการผ่าน BAs คนสุดท้ายอาจไม่ทราบว่ามันดูเหมือนและเขา / เธออาจคิดว่ามันไม่ใช่สิ่งที่พวกเขาคาดหวังหรือพวกเขาอาจต้องการเพิ่มสิ่งอื่นเพื่อให้ดูดีขึ้นหรือด้วยเหตุผลบางอย่างที่พวกเขาอาจสนใจ ชิ้นส่วนทั้งหมดเนื่องจากพวกเขาคิดว่าชิ้นส่วนจะไม่สอดคล้องกับฟังก์ชันการทำงานที่มีอยู่แล้ว
ดังที่อธิบายไว้ข้างต้นสิ่งเหล่านี้มีความสำคัญมากและไม่สามารถทำได้โดยนักพัฒนาเพียงอย่างเดียวและจำเป็นอย่างยิ่งสำหรับการใช้งานเพื่อให้ทำงานได้ ผู้บริหารสามารถพูดได้ว่านี่เป็นแนวทางอนุรักษ์นิยม แต่เป็นวิธีที่ดีกว่า เราสามารถปรับแต่งบางอย่างที่กล่าวไว้ข้างต้น แต่ไม่สามารถหลีกเลี่ยงโดยรวม