10 ตำนานยอดนิยมที่ไม่ควรเกี่ยวข้องกับการทดสอบซอฟต์แวร์
เผยแพร่แล้ว: 2022-12-14การทดสอบซอฟต์แวร์เป็นส่วนสำคัญของวงจรชีวิตการพัฒนาซอฟต์แวร์มาโดยตลอด อย่างไรก็ตาม นับเป็นการพัฒนาล่าสุดในอุตสาหกรรมเทคโนโลยีสารสนเทศ ดังนั้น การแยกข้อเท็จจริงออกจากเรื่องแต่งจึงเป็นสิ่งจำเป็น โดยเฉพาะอย่างยิ่งเมื่อคุณไม่ต้องการให้มีข้อผิดพลาด
คุณต้องเคยได้ยินเกี่ยวกับคนยากจนที่ต้องจ่ายเงินเพิ่มหรือไม่ผ่านมาตรฐานคุณภาพเพราะพวกเขาไม่เข้าใจแนวคิดและขอบเขตของการทดสอบ หากคุณไม่กระตือรือร้นที่จะเป็นหนึ่งในนั้น บทความนี้เหมาะสำหรับคุณ
เรามาทำลายตำนานกันทีละเรื่อง
ความเชื่อที่ 1: การทดสอบเป็นเรื่องง่าย
เราได้เห็นการเปลี่ยนแปลงครั้งใหญ่ในสายอาชีพหลังจากบริษัท SaaS หลายแห่งเกิดขึ้นในช่วงที่เกิดโรคระบาด การแปลงเป็นดิจิทัลเป็นกระแสใหม่ ด้วยเหตุนี้ หลายคนจึงย้ายไปทำงานระดับเริ่มต้นที่ลึกซึ้งที่สุดในอุตสาหกรรมซอฟต์แวร์ นั่นคืองานทดสอบ
เป็นเรื่องง่ายสำหรับคนธรรมดาที่จะเข้าใจว่าการทดสอบเป็นงานง่ายๆ ที่บุคคลประเภทใดก็ได้สามารถทำได้ บนเชลล์ อาจดูเหมือนโต้ตอบกับซอฟต์แวร์เพื่อตรวจสอบว่าทำงานได้ดีหรือไม่ ก็เหมือนกับการบอกว่าสถาปนิกเขียนแบบบ้าน
ความจริงก็คือการทดสอบเป็นกระบวนการที่ซับซ้อน วิศวกรการประเมินคุณภาพ (QA) ต้องเข้าใจและถ่ายทอดความรู้แบบครบวงจรเกี่ยวกับผลิตภัณฑ์ พวกเขายังต้องตั้งสมมุติฐานการจำลองการทำงานของแอปพลิเคชันว่าจะยอมรับหรือปฏิเสธ ขอบเขตขยายไปไกลกว่าการค้นหาข้อบกพร่องในซอฟต์แวร์ เป็นการเพิ่มเติมเกี่ยวกับการถามคำถามที่ถูกต้องเพื่อดึงข้อมูลที่เกี่ยวข้องภายในแอปพลิเคชัน
เรื่องที่ 2: การทดสอบซอฟต์แวร์เป็นเรื่องที่น่าเบื่อ
วิศวกรควบคุมคุณภาพกลุ่มหนึ่งกำลังนั่งและเรียกดูแอพและคุณสมบัติต่างๆ มีอะไรน่าสนใจเกี่ยวกับมันบ้าง?
ลองนึกภาพสิ่งนี้: คุณต้องเข้าใจกลุ่มเป้าหมายและคาดการณ์จิตวิทยาของพวกเขาและวิธีที่พวกเขาจะโต้ตอบกับแอปพลิเคชัน คุณต้องมีความคิดสร้างสรรค์มากพอที่จะสร้างกรณีทดสอบที่ตรงกับรูปแบบการใช้งานของผู้ใช้
เรื่องที่ 3: ผู้ทดสอบมีหน้าที่รับผิดชอบต่อข้อบกพร่อง
ผู้ทดสอบคือผู้ที่มองหาจุดบกพร่อง พวกเขาไม่ได้สร้างมันขึ้นมา การพัฒนาโครงการทำให้เกิดข้อผิดพลาดของมนุษย์ ในฐานะวิศวกร QA ผู้ทดสอบเหล่านี้รับประกันว่าคุณภาพจะดีที่สุด
แม้ว่าจะมีความอัปยศร่วมกันว่าผู้ทดสอบถูกเกลียดชังร่วมกันทั่วทั้งบริษัท แต่ก็ไม่จริงเลย
ผู้ทดสอบคือผู้ที่ช่วยนักพัฒนาให้ผลลัพธ์ที่ดีที่สุด และในกระบวนการนี้ พวกเขาพยายามอย่างเต็มที่เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดเป็นศูนย์ก่อนที่จะปรับใช้ซอฟต์แวร์
ความเชื่อที่ 4: ความสมบูรณ์แบบคือเป้าหมาย
บางคนอาจไม่เห็นด้วยเมื่อเราระบุว่าลัทธินิยมความสมบูรณ์แบบไม่ใช่เป้าหมายของการประเมินคุณภาพ อย่างไรก็ตามมันเป็นความจริง ในโลกของการพัฒนาซอฟต์แวร์ ไม่มีซอฟต์แวร์ที่สมบูรณ์แบบ นี่อาจเป็นข่าวยากสำหรับผู้ที่ชอบความสมบูรณ์แบบที่ต้องการปฏิบัติตามหนังสือสำหรับกระบวนการควบคุมคุณภาพ
กุญแจสำคัญคือการรู้ว่าเมื่อใดควรหยุดการทดสอบ แนวคิดคือการสร้างความสมดุลระหว่างข้อผิดพลาดและการจัดลำดับความสำคัญ เนื่องจากมีสิ่งใหญ่กว่าที่เป็นเดิมพัน เช่น กำหนดเวลาการปรับใช้ที่ลูกค้าให้มา
ไม่เหมาะเมื่อไซต์อีคอมเมิร์ซของคุณอยู่ในสภาพที่สมบูรณ์ แต่คุณไม่ให้ผลิตภัณฑ์เปิดตัวเนื่องจากส่วนท้ายไม่ได้โหลดด้วยสีที่ถูกต้อง
ความเชื่อที่ 5: การทดสอบมีราคาแพง
ไม่ใช่เรื่องแปลกที่บริษัทต่างๆ จะเลิกจ้างวิศวกร QA เพียงเพื่อมุ่งความสนใจไปที่ "การบำรุงรักษา" และ "การตลาด" แต่ความจริงก็คือการเปลี่ยนแปลงใด ๆ หลังจากการเปิดตัวผลิตภัณฑ์จะมีค่าใช้จ่ายเพิ่มขึ้นสองเท่าสำหรับบริษัท การทดสอบระหว่างการพัฒนาจะให้ข้อมูลเชิงลึกมากมายแก่นักพัฒนาในการเพิ่มและลบคุณลักษณะต่างๆ ในสถาปัตยกรรมซอฟต์แวร์
นอกจากนี้ การปล่อยสินค้าออกสู่ตลาดโดยขาดความสมบูรณ์แบบอาจทำให้ภาพลักษณ์ของแบรนด์เสียหายได้ง่าย การขัดข้อง การหยุดทำงาน และความผิดปกติที่เกิดขึ้นบ่อยครั้งมักถูกมองว่าเป็นผลิตภัณฑ์คุณภาพต่ำ การจ้างนักพัฒนาเพื่อแก้ไขปัญหาเหล่านั้นอีกครั้งจะมีค่าใช้จ่ายมากกว่าสองเท่า
เรื่องที่ 6: การทำงานอัตโนมัติดีกว่าการทดสอบด้วยตนเอง
ในโลกของ AI และแมชชีนเลิร์นนิงที่ทุกอย่างเป็นแบบอัตโนมัติ การทดสอบก็มีเทคโนโลยีที่อัปเดตซึ่งการทดสอบเป็นแบบอัตโนมัติได้ นี่เป็นตัวเลือกที่น่าดึงดูดมากสำหรับองค์กรที่ต้องการทำตามกำหนดเวลาล่วงหน้าและลดค่าใช้จ่าย อย่างไรก็ตาม มีบางสิ่งที่ต้องจำไว้เสมอ
การทดสอบประเภทต่าง ๆ มีข้อกำหนดที่แตกต่างกัน มีการทดสอบไม่กี่รายการที่ทำซ้ำและสามารถดำเนินการได้โดยอัตโนมัติ บางส่วนเป็นการทดสอบเชิงสำรวจและอาจต้องใช้การทดสอบด้วยตนเองควบคู่ไปกับความคิดสร้างสรรค์ การทดสอบบางอย่างสามารถใช้ทั้งสองอย่างผสมกันได้
เรื่องที่ 7: การทดสอบทำให้เวลาการส่งมอบโครงการล่าช้า
การทดสอบถูกมองว่าเป็นกิจกรรมที่ค่อนข้างง่ายซึ่งแทบจะใช้เวลาไม่นานสำหรับ QA และการทำงานซ้ำ อย่างไรก็ตามช่องโหว่อยู่ในเกือบ การทดสอบได้รับการออกแบบมาเพื่อระบุข้อผิดพลาดที่ยากต่อการดูจากมุมมองของนักพัฒนา นั่นคือจุดประสงค์ของการปรับกระบวนการ QA ให้เหมาะสมที่สุดจากทุกมุมมองที่เป็นไปได้
สาเหตุหลักของความล่าช้าในการส่งมอบโครงการคือความล้มเหลวของการวางแผนที่เหมาะสมและการตั้งความคาดหวังที่ไม่สมจริงจากทีมพัฒนาและทดสอบ การกำหนดกำหนดเวลาที่สั้นลงจะเพิ่มแรงกดดันให้กับทีมพัฒนาและปูทางไปสู่ข้อผิดพลาดที่มากขึ้น
ความเชื่อที่ 8: การทดสอบไม่เกี่ยวข้องกับความรู้ด้านการออกแบบ
ความเชื่อทั่วไปคือผู้ทดสอบมีหน้าที่รับผิดชอบในการทดสอบและผู้ออกแบบมีหน้าที่รับผิดชอบในการออกแบบ แม้ว่าผู้ทดสอบจะไม่ต้องสร้างงานศิลปะบนซอฟต์แวร์หรืออะไรก็ตามแม้แต่ปิดจากระยะไกล แต่ก็มีความคาดหวังบางอย่างจากวิศวกร QA ที่มีประสิทธิภาพ
ผู้ทดสอบจะต้องสามารถแยกแยะซอฟต์แวร์ที่มี UI/UX ที่ไม่ดีออกจากซอฟต์แวร์ที่มี UI/UX ที่ดีได้ อาจเกี่ยวข้องกับการรู้พื้นฐานของประสบการณ์ผู้ใช้และกฎหมายส่วนติดต่อผู้ใช้ นอกจากนี้ วิศวกร QA อาจต้องมีความคิดสร้างสรรค์ในขณะที่สร้างกรณีทดสอบที่กำหนดขึ้นเองสำหรับกลุ่มย่อยของกลุ่มเป้าหมาย
ตำนานที่ 9: นักพัฒนาที่มีความสามารถ = ไม่มีผู้ทดสอบ
พวกเขากล่าวว่าทีมพัฒนาที่มีประสิทธิภาพช่วยลดความจำเป็นในการทดสอบใดๆ ในกระบวนการ นี่คือการตรวจสอบความเป็นจริง – ยิ่งซอฟต์แวร์พัฒนาเร็วเท่าไร ขอบเขตของข้อผิดพลาดก็จะยิ่งมากขึ้นเท่านั้น เพราะลำดับความสำคัญคือการสร้างซอฟต์แวร์โดยใช้เวลาให้น้อยที่สุด ยิ่งไปกว่านั้น นักพัฒนายังทำสิ่งที่พวกเขาทำได้ดีที่สุด เขียนโค้ดสำหรับสิ่งที่พวกเขาต้องการ พวกเขาอาจไม่ได้คิดถึงมุมมองของผู้ใช้เมื่อพวกเขาเขียนโค้ดหลายพันบรรทัด สิ่งนี้พิสูจน์ความเกี่ยวข้องของทีม QA แม้กระทั่งกับทีมนักพัฒนาที่มีประสิทธิภาพและมีความสามารถ
ความเชื่อที่ 10: การทดสอบจะเริ่มขึ้นหลังจากที่ผลิตภัณฑ์พร้อมแล้วเท่านั้น
การทดสอบไม่จำกัดเฉพาะการทดสอบซอฟต์แวร์ กระบวนการ QA สามารถดำเนินการได้แม้ในช่วงแรกของการคิดและการวางแผน เป็นเรื่องง่ายที่จะเชื่อว่ากระบวนการ QA สามารถดำเนินการได้ในที่สุดเมื่อผลิตภัณฑ์ขั้นสุดท้ายพร้อมที่จะทำการเปลี่ยนแปลงทั้งหมดในคราวเดียว
ความจริงก็คือวงจรชีวิตการพัฒนาซอฟต์แวร์ไม่ทำงานในลักษณะนั้น ข้อเท็จจริงประการแรกคือมีขอบเขตของข้อผิดพลาดในทุกขั้นตอนซึ่งอาจถูกส่งต่อไปยังขั้นตอนต่อไปของการพัฒนาซึ่งนำไปสู่การสะสม ข้อเท็จจริงประการที่สองคือ ไม่ใช่ว่าข้อผิดพลาดทั้งหมดจะสามารถรอจนถึงขั้นตอนสุดท้ายได้ บางอย่างจำเป็นต้องได้รับการแก้ไขในเชิงรุกในทุกขั้นตอนของการดำเนินการให้เสร็จสิ้น
บทสรุป:
เราได้ทำลายตำนานทั้งหมดแล้ว อย่างไรก็ตาม มีความจริงบางส่วนในแต่ละข้อ สิ่งสำคัญในการเรียนรู้จากสิ่งนี้คือนักพัฒนาทำในสิ่งที่ทำได้ดีที่สุด ส่วนผู้ทดสอบก็ทำในสิ่งที่ทำได้ดีที่สุด สิ่งเดียวที่ทั้งคู่ต้องมีเหมือนกันคือเป้าหมายสูงสุดสำหรับโครงการและบริษัท นั่นคือการส่งมอบด้วยคุณภาพสูงสุดที่เป็นไปได้
สำหรับองค์กรส่วนใหญ่ TestGrid เป็นเครื่องมือทดสอบระบบอัตโนมัติที่ต้องการ เนื่องจากทำให้กระบวนการทดสอบทั้งหมดง่ายขึ้น ให้คุณทำการทดสอบแบบครบวงจรได้อย่างง่ายดาย ตัวอย่างเช่น ผู้ใช้สามารถทำการทดสอบอัตโนมัติโดยใช้โค้ดต่ำหรือไม่ต้องเขียนโค้ดใดๆ อินเทอร์เฟซแบบลากและวางที่เรียบง่ายทำให้นักพัฒนา ผู้ทดสอบ และผู้จัดการสามารถใช้ TestGrid ได้