การทดสอบอัตโนมัติกับการทดสอบด้วยตนเอง: ข้อดี ข้อเสีย และแบบไหนดีกว่ากัน

เผยแพร่แล้ว: 2021-10-05

การทดสอบเป็นส่วนที่ขาดไม่ได้ของการพัฒนาซอฟต์แวร์ การทดสอบคุณภาพช่วยต่อสู้กับการละเมิดความปลอดภัย ซึ่งขณะนี้บริษัทต้องเสียค่าใช้จ่ายประมาณ 25 ดอลลาร์ต่อนาทีตาม RiskIQ

ในระเบียบวิธีแบบ Agile การทดสอบเป็นกระบวนการต่อเนื่องที่เริ่มต้นตั้งแต่เริ่มต้นการพัฒนา วันนี้ การทดสอบสามารถทำได้ด้วยตนเองหรือโดยอัตโนมัติ มาดูการ ทดสอบด้วยตนเองกับภาวะที่กลืนไม่เข้าคายไม่ออกของการทดสอบอัตโนมัติ คุณจะได้เรียนรู้ข้อดีของการทดสอบระบบอัตโนมัติมากกว่าการทดสอบด้วยตนเองและในทางกลับกัน และรับคำแนะนำว่าจะใช้แนวทางการทดสอบใด


สารบัญ:

  1. ความแตกต่างระหว่างการทดสอบด้วยตนเองและการทดสอบอัตโนมัติ
  2. ประโยชน์ของการทดสอบระบบอัตโนมัติ
  3. ข้อบกพร่องของการทดสอบอัตโนมัติ
  4. ประโยชน์ของการทดสอบด้วยตนเอง
  5. ข้อบกพร่องของการทดสอบด้วยตนเอง
  6. การทดสอบด้วยตนเองกับการทดสอบอัตโนมัติ
  7. คุณควรใช้การทดสอบด้วยตนเองที่ไหน
  8. คุณควรใช้การทดสอบอัตโนมัติที่ใด

การทดสอบด้วยตนเองและการทดสอบอัตโนมัติต่างกันอย่างไร

การทดสอบด้วยตนเองดำเนินการโดยผู้เชี่ยวชาญด้านการประกันคุณภาพ (QA) ซึ่งใช้งานซอฟต์แวร์ผ่านสถานการณ์การทดสอบที่สร้างขึ้นจากข้อกำหนด QAs ทดสอบหนึ่งสถานการณ์ในแต่ละครั้ง

ในการทดสอบอัตโนมัติ สถานการณ์การทดสอบถูกเรียกใช้โดยซอฟต์แวร์ ซึ่งมักจะทำให้สามารถทดสอบหลายสถานการณ์พร้อมกันได้ อย่างไรก็ตาม เพื่อให้การทดสอบอัตโนมัติทำงาน สถานการณ์การทดสอบจำเป็นต้องจัดเตรียมโดย ผู้เชี่ยวชาญด้านการประกันคุณภาพ ระบบอัตโนมัติ ดังนั้น การทดสอบอัตโนมัติจึงไม่ปราศจากการมีส่วนร่วมของมนุษย์ ในการเปิดใช้งานการทดสอบอัตโนมัติ QA จะเขียนสคริปต์ในภาษาโปรแกรมที่ต้องการ — โดยทั่วไปคือ Python, C# หรือ Java สคริปต์เหล่านั้นจะเปิดขึ้นโดยใช้เครื่องมือต่างๆ เช่น TestComplete, Selenium หรือ Appium ซอฟต์แวร์ทำการทดสอบได้เร็วกว่ามนุษย์ แต่ต้องการให้มนุษย์ทำงาน

สุดท้าย ซอฟต์แวร์บางตัวไม่สามารถเรียกใช้การทดสอบทั้งหมดได้

ประโยชน์ของการทดสอบระบบอัตโนมัติ

ประโยชน์ของการทดสอบระบบอัตโนมัติ

ทำไมเราถึงพยายามทำให้ทุกอย่างเป็นอัตโนมัติตั้งแต่แรก? เพราะ (ก) ทำให้เรามีเวลาทำเรื่องสนุกและสำคัญมากขึ้น และ (ข) ช่วยให้เราบรรลุเป้าหมายได้เร็วขึ้น สิ่งนี้ใช้กับการพัฒนาซอฟต์แวร์เช่นกัน อย่างไรก็ตาม การทดสอบซอฟต์แวร์อัตโนมัติยังมีอะไรอีกมาก

  1. ระบบอัตโนมัติช่วยประหยัดเวลาในงานที่ต้องใช้เวลามาก

    การทดสอบซอฟต์แวร์อาจใช้เวลานานและมักจะต้องทำซ้ำ เช่น เมื่อตรวจสอบว่าแอปพลิเคชันทำงานตามที่ควรหรือไม่หลังจากอัปเดตตัวแอปเองหรือระบบปฏิบัติการ ทั้ง iOS และ Android ได้รับการอัปเดตบ่อยครั้ง และบางครั้งการอัปเดตเหล่านั้นจะส่งผลต่อคุณลักษณะในแอปพลิเคชัน หากการอัปเดตส่งผลต่อฟีเจอร์ที่แอปของคุณใช้ คุณจะต้องทดสอบฟีเจอร์เหล่านั้น เพื่อให้แน่ใจว่าแอปของคุณทำงานอย่างถูกต้องกับระบบปฏิบัติการเวอร์ชันล่าสุด

    แน่นอนว่างานซ้ำๆ แบบนี้สามารถทำได้ด้วยตนเอง แต่ต้องใช้เวลามากจาก QA แต่ QA สามารถสร้างอัลกอริธึมเพื่อเรียกใช้การทดสอบซ้ำๆ เหล่านี้โดยอัตโนมัติ ในขณะที่ QA ทำงานเพื่อทดสอบคุณสมบัติใหม่ สคริปต์สามารถเรียกใช้การทดสอบได้เร็วกว่าบุคคลถึงห้าเท่า — และ QA จะทำงานบางอย่างที่ไม่ต้องดำเนินการโดยอัตโนมัติหรือเขียนสคริปต์เพิ่มเติมในเวลาเดียวกัน

    นอกจากนี้ การทดสอบอัตโนมัติสามารถทำงานได้ทุกวันตลอด 24 ชั่วโมง ในขณะที่ผู้เชี่ยวชาญด้านการทดสอบด้วยตนเองมักจะทำงานแบบเดิมๆ วันละแปดชั่วโมง 5 วันต่อสัปดาห์

    ตัวอย่าง: การทดสอบการถดถอยจะทำซ้ำหลังจากอัปเดตคุณสมบัติ แอพ หรือระบบปฏิบัติการในแต่ละครั้ง การทดสอบเหล่านี้จะตรวจสอบว่าการอัปเดตสร้างจุดบกพร่องหรือข้อขัดแย้งระหว่างคุณลักษณะต่างๆ หรือไม่ ต้องใช้เวลามากสำหรับ QA ในการรันและรันการทดสอบเหล่านี้อีกครั้งด้วยตนเองหลังจากการอัพเดตแต่ละครั้ง

    ผู้เชี่ยวชาญด้านระบบอัตโนมัติของ QA สามารถเขียนสคริปต์ทดสอบได้เพียงครั้งเดียวและเรียกใช้การทดสอบได้มากเท่าที่จำเป็น ในขณะที่การทดสอบเหล่านี้กำลังทำงานอยู่ QA แบบแมนนวลและระบบอัตโนมัติของคุณอาจกำลังยุ่งอยู่กับการทดสอบคุณสมบัติอื่นๆ

  2. ระบบอัตโนมัติสามารถช่วยต่อสู้กับความผิดพลาดของมนุษย์ได้

    ผู้คนทำผิดพลาดและอาจพลาดสิ่งต่างๆ เครื่องจักร เมื่อตั้งโปรแกรมอย่างถูกต้องแล้ว อย่าทำผิดพลาด และเมื่อมีข้อผิดพลาดในโค้ดทดสอบหรือการทำงานของโค้ด คุณจะ รู้ได้ทันทีว่าการทดสอบล้มเหลว ด้วยการทดสอบอัตโนมัติ ไม่มี "ดูเหมือนว่าจะทำงานได้ตามที่คาดไว้" - ใช้งานได้หรือไม่ทำงาน

    ตัวอย่าง: เนื่องจากไม่มีเวลาหรือผู้เชี่ยวชาญ การตรวจสอบคุณภาพด้วย ตนเองอาจพลาดสัญญาณบั๊กเล็กน้อยในคุณลักษณะ ข้อบกพร่องดังกล่าวสามารถนำไปสู่ความล้มเหลวที่ยิ่งใหญ่อย่างแท้จริง และการแก้ไขในระยะหลังของการพัฒนา จะต้องใช้เวลา (และเงิน) มากกว่าการแก้ไขตั้งแต่เนิ่นๆ

    สถานการณ์นี้ไม่สามารถเกิดขึ้นเมื่อคอมพิวเตอร์ทำการทดสอบได้ เนื่องจากคอมพิวเตอร์ (ก) ทำการทดสอบได้เร็วกว่าคน และ (ข) ไม่ฟุ้งซ่าน เหนื่อย หรือคุ้นเคยกับโค้ดมากเกินไป

  3. ระบบอัตโนมัติสามารถประหยัดเงินได้ (หากใช้อย่างถูกต้อง)

    สิ่งนี้ดูเรียบง่าย — เมื่อ QA ใช้เวลากับงานน้อยลง ค่าใช้จ่ายก็จะน้อยลง ในการโต้วาทีเกี่ยวกับการทดสอบด้วยตนเองและการทดสอบอัตโนมัติ ข้อเท็จจริงนี้มักเกิดขึ้น และเป็นความจริงในระดับหนึ่ง: ในระยะยาว การทำงานอัตโนมัติแบบอัตโนมัติจะช่วยให้คุณประหยัดเวลาทำงานของ QA ได้มาก และด้วยเหตุนี้ เงินจำนวนมากจึงเกิดขึ้น

    อย่างไรก็ตาม มีอีกด้านหนึ่งของเหรียญ เนื่องจากซอฟต์แวร์ทดสอบอัตโนมัติมีค่าใช้จ่ายเช่นกัน ด้วยเหตุนี้ การทดสอบระบบอัตโนมัติจึงมักใช้กับโปรเจ็กต์ขนาดใหญ่ แทนที่จะเป็น โปรเจ็ก ต์ระยะสั้นที่แทบไม่มีประโยชน์

  4. การทดสอบบางอย่างสามารถทำได้ด้วยการทดสอบอัตโนมัติเท่านั้น

    เมื่อพูดถึงการทดสอบแอปพลิเคชันขนาดใหญ่ที่ผู้คนจำนวนมากควรใช้งานพร้อมกัน — ซอฟต์แวร์การประชุมทางวิดีโอหรือซอฟต์แวร์สตรีมมิง เครื่องมือการศึกษาออนไลน์ หรือเกมยอดนิยม การทดสอบประสิทธิภาพด้วยตนเองภายใต้สภาวะตึงเครียดนั้นแทบจะเป็นไปไม่ได้เลย การทดสอบที่ตรวจสอบว่าแอปพลิเคชันสามารถทนต่อโหลดของผู้ใช้หลายร้อยคนพร้อมๆ กันโดยไม่เกิดข้อผิดพลาดหรือไม่ จำเป็นต้องมีผู้ทดสอบหลายร้อยคน ดูเหมือนจะไม่ใช่วิธีแก้ปัญหาเชิงตรรกะหรือเชิงเศรษฐกิจใช่ไหม

    อย่างไรก็ตาม สคริปต์สามารถจำลองการโหลดดังกล่าวได้อย่างง่ายดาย การทดสอบอัตโนมัติเป็นสิ่งจำเป็นสำหรับการทดสอบโหลด ความเค้น และประสิทธิภาพ อย่างไรก็ตาม การทดสอบเหล่านี้ไม่จำเป็นสำหรับแต่ละแอปที่คุณพัฒนา คุณจะต้องตัดสินใจว่าจะดำเนินการเหล่านี้สำหรับแต่ละผลิตภัณฑ์แยกกันหรือไม่

ข้อบกพร่องของการทดสอบอัตโนมัติ

ข้อบกพร่องของการทดสอบอัตโนมัติ

ตอนนี้ถึงข้อเสีย

  1. การทดสอบอัตโนมัติซับซ้อนกว่าการทดสอบด้วยตนเอง

    สคริปต์ไม่ได้เขียนเอง QAs เขียนด้วยตนเองสำหรับแต่ละงาน และนี่หมายความว่าวิศวกรระบบอัตโนมัติของ QA ต้องการทักษะการเขียนโปรแกรมและความรู้ในภาษาการเขียนโปรแกรมอย่างน้อยหนึ่งภาษา (ภาษาที่ได้รับความนิยมมากที่สุดสำหรับการทดสอบอัตโนมัติคือ Python, Java และ C#) ในการตั้งค่าการทดสอบอัตโนมัติ QA จะคอมไพล์สถานการณ์การทดสอบเพื่อให้สคริปต์ทำงาน แต่ละสถานการณ์เขียนด้วยลายมือ ซึ่งต้องใช้เวลาในส่วนของ QA

    ด้วยงานซ้ำๆ และงานที่ สามารถทำแบบอัตโนมัติ ได้ ในระยะยาว ระบบอัตโนมัติเป็นตัวเลือกที่ดีกว่า

  2. การทดสอบอัตโนมัติไม่ใช่คำตอบของทุกปัญหา

    มีบางสิ่งที่การทดสอบอัตโนมัติไม่สามารถทำได้กับเทคโนโลยีปัจจุบัน ตัวอย่างเช่น ไม่สามารถแทนที่การทดสอบด้วยตนเองเมื่อพูดถึงการออกแบบการทดสอบหรือความเป็นมิตรกับผู้ใช้ สิ่งเหล่านี้ต้องการข้อมูลเชิงลึกของมนุษย์ อย่างไรก็ตาม การทดสอบการออกแบบแอปและความเป็นมิตรต่อผู้ใช้ไม่ได้ดำเนินการโดย QA เสมอไป: สามารถรับความคิดเห็นของผู้ใช้จากกลุ่มทดสอบของผู้ใช้ นอกเหนือจากพนักงานของบริษัท กลุ่มทดสอบนี้อาจจ่ายหรือไม่ก็ได้

    อีกกรณีหนึ่งที่การทดสอบอัตโนมัติล้มเหลวคือการทดสอบฟังก์ชันการทำงานใหม่ทั้งหมด เพื่อให้ผู้เชี่ยวชาญด้าน QA รู้วิธีตั้งโปรแกรมสคริปต์ทดสอบ พวกเขา จำเป็นต้องรู้ว่าควรคาดหวังผลลัพธ์อะไร

    การทดสอบซอฟต์แวร์ส่วนใหญ่สามารถทำได้โดยอัตโนมัติ แต่ไม่ทั้งหมด ยังมีบางกรณีที่การทดสอบด้วยตนเองเป็นวิธีที่แนะนำ มาพูดถึง ข้อดีของการทดสอบด้วยตนเองมากกว่าการทดสอบอัตโนมัติ กัน

ประโยชน์ของการทดสอบด้วยตนเอง

ประโยชน์ของการทดสอบด้วยตนเอง

ความเป็นจริงของการพัฒนาซอฟต์แวร์สมัยใหม่คือการทดสอบส่วนใหญ่ยังคงดำเนินการด้วยตนเอง เหตุผลแตกต่างกันไปในแต่ละบริษัท เราจะเน้นเฉพาะบางส่วนที่นี่

  1. การทดสอบด้วยตนเองนั้นง่ายต่อการใช้งาน

    ค่อนข้าง ง่าย ในการจัดหาผู้เชี่ยวชาญด้าน QA ที่ผ่านการรับรองให้กับบริษัทของคุณ แทนที่จะเป็นผู้เชี่ยวชาญด้านระบบอัตโนมัติ งานทดสอบด้วยตนเองจำนวนมากสามารถทำได้โดยไม่ต้องเข้าถึงโค้ดและไม่มีความรู้เกี่ยวกับการเข้ารหัส นั่นคือเหตุผลที่บางครั้งการทดสอบถือเป็นจุดเริ่มต้นของการพัฒนาซอฟต์แวร์ คุณสามารถเริ่มต้นด้วย ความรู้ขั้นต่ำสุดเปล่าเปลี่ยวและเพิ่มทักษะไปพร้อม กัน ซึ่งหมายความว่ามี QA แบบใช้มือที่ดีในตลาดมากกว่าผู้เชี่ยวชาญด้านระบบอัตโนมัติ

  2. การทดสอบด้วยตนเองเป็นตัวเลือกที่เหมาะสมสำหรับงานที่ซับซ้อนอย่างยิ่ง

    เมื่อทำการทดสอบคุณลักษณะที่ซับซ้อนเป็นพิเศษ บางครั้งเวลาในการเรียกใช้การทดสอบด้วยตนเองและค่าใช้จ่ายในการดำเนินการอาจน้อยกว่าเวลาและเงินที่จำเป็นในการเขียนสคริปต์การทำงานอัตโนมัติ นอกจากนี้ งานประเภทนี้มักจะเสร็จสิ้นเพียงครั้งเดียวเนื่องจากลักษณะเฉพาะ ทำให้ระบบอัตโนมัติไม่ คุ้มทุน

    อย่างไรก็ตาม สิ่งนี้จะขึ้นอยู่กับทักษะ QA ของคุณอย่างน้อยบางส่วน เนื่องจากผู้เชี่ยวชาญด้านระบบอัตโนมัติที่มีคุณสมบัติสูงสามารถสร้างสถานการณ์ที่ซับซ้อนได้รวดเร็วและมีความแม่นยำมากกว่า QA รุ่นเยาว์ คุณจะต้อง คำนวณประโยชน์ของการสร้างสคริปต์การทำงานอัตโนมัติแต่ละ รายการด้วย

  3. การทดสอบด้วยตนเองเหมาะสำหรับงานบางอย่าง

    การออกแบบส่วนต่อประสาน ประสบการณ์ผู้ใช้ และความ สามารถใน การใช้งาน ยังไม่สามารถทดสอบด้วยสคริปต์ได้ การทดสอบเหล่านี้ต้องการความคิดเห็นจากมนุษย์ บางครั้งอาจมาจากผู้เชี่ยวชาญด้านการประกันคุณภาพ บางครั้งอาจมาจากกลุ่มทดสอบของผู้ใช้

    อีกกรณีหนึ่งคือเมื่อต้องให้ความสนใจเป็นพิเศษกับส่วนใดส่วนหนึ่งของการทดสอบ — การเขียนสคริปต์สำหรับการทดสอบนั้นซับซ้อนเกินไปและมักจะไม่น่าเชื่อถือเท่ากับการใช้ผู้เชี่ยวชาญที่รู้ว่าควรมองหาอะไร

    บางครั้ง QAs ก็ทำการทดสอบโดยธรรมชาติ ด้วยวิธีที่ผิดปกติ และไม่มีการเตรียมการ สิ่งนี้เรียกว่า การทดสอบเฉพาะกิจ การทดสอบเฉพาะกิจสามารถช่วยให้คุณพบข้อบกพร่องที่ไม่คาดคิดได้ สำหรับการทดสอบดังกล่าว การเขียนสคริปต์เป็นไปไม่ได้เนื่องจากคุณไม่รู้ว่าจะเกิดอะไรขึ้น นอกจากนี้ สคริปต์ดังกล่าว อาจจะใช้เพียงครั้งเดียว

    ตัวอย่าง: การทดสอบเฉพาะกิจประเภทหนึ่ง เรียกว่า การทดสอบลิง มีวัตถุประสงค์เพื่อค้นหาสิ่งที่ต้องทำเพื่อทำลายระบบ มีการดำเนินการแบบสุ่มเพื่อดูว่ามีสิ่งใดที่ทำให้ระบบขัดข้องหรือไม่

ข้อบกพร่องของการทดสอบด้วยตนเอง

ข้อบกพร่องของการทดสอบด้วยตนเอง

นี่คือสาเหตุที่ทำให้การทดสอบอัตโนมัติเป็นที่นิยมมากกว่าการทดสอบด้วยตนเอง

  1. การทดสอบด้วยตนเองนั้นช้ากว่าโดยเนื้อแท้

    งานเดียวกันที่อาจต้องใช้เวลาหลายชั่วโมงหรือหลายวันในการดำเนินการให้เสร็จของ QA ของมนุษย์ จะใช้เวลาเพียงไม่กี่นาทีหรือไม่กี่วินาทีสำหรับเครื่อง ระบบคอมพิวเตอร์และสคริปต์วิเคราะห์ข้อมูลได้เร็วกว่ามนุษย์ การทดสอบด้วยตนเองนั้นน่าเบื่อและใช้เวลานาน โดยเฉพาะอย่างยิ่งกับงานที่ทำซ้ำ ในขณะที่การทดสอบอัตโนมัติที่ดำเนินการด้วยการเตรียมที่เหมาะสมนั้นรวดเร็วและง่ายดาย

  2. การทดสอบด้วยตนเองมักมีข้อผิดพลาด

    ผู้คนอาจพลาดรายละเอียดเมื่อต้องทำงานซ้ำแล้วซ้ำเล่า เช่น การทดสอบคุณสมบัติซ้ำหลังการอัปเดตแต่ละครั้ง

    การกระจายความสนใจในหลายจุดในงานเดียวยังสามารถสะกดปัญหาสำหรับ QA ทำให้ผลการทดสอบ มีความน่าเชื่อถือน้อยลง ด้วยคุณสมบัติที่ซับซ้อน คุณจะต้องตัดสินใจระหว่างการทดสอบด้วยตนเองและการทดสอบอัตโนมัติเป็นรายกรณี บางครั้ง ระบบอัตโนมัติอาจมีราคาแพง และ ใช้ เวลานานอย่าง ไม่สมเหตุสมผล เนื่องจากความซับซ้อนของสคริปต์ โดยเฉพาะอย่างยิ่งหากทำการทดสอบเพียงครั้งเดียว

  3. ในระยะยาว การทดสอบด้วยตนเองเพียงอย่างเดียวอาจมีราคาแพงกว่า

    จริงอยู่ว่าด้วยการทดสอบอัตโนมัติ บริษัทจำเป็นต้องลงทุนเงินก้อนใหญ่ในบางครั้งตั้งแต่เริ่มต้น ทั้งในด้านซอฟต์แวร์และการจ้างบุคลากรที่ผ่านการรับรอง (QA อัตโนมัติมีค่าใช้จ่ายมากกว่าผู้เชี่ยวชาญที่ทำเอง)

    อย่างไรก็ตาม การทดสอบด้วยตนเองอาจเป็นภาระทางการเงินทั้งนี้ขึ้นอยู่กับประเภทและจำนวนการทดสอบที่จำเป็นสำหรับโครงการ เมื่อโปรเจ็กต์มีขนาดใหญ่และการทดสอบใช้เวลานานกว่าจะเสร็จสมบูรณ์หรือทำซ้ำหลายครั้ง ค่าใช้จ่ายก็พุ่งสูงขึ้น ปัญหานี้ควรได้รับการแก้ไขในตอนเริ่มต้นของการวางแผนโครงการเพื่อประเมินต้นทุนของทั้งสองทางเลือกและค้นหาว่าสิ่งใดเหมาะสมที่สุดในเชิงเศรษฐกิจ โดยปกติ การตัดสินใจที่ดีที่สุดคือการรวมการทดสอบแบบแมนนวลและแบบอัตโนมัติเข้าด้วยกัน

การทดสอบด้วยตนเองกับการทดสอบอัตโนมัติ — การประลอง

ตอนนี้เรามาดูการเปรียบเทียบระหว่างการทดสอบด้วยตนเองกับการทดสอบอัตโนมัติกัน

การทดสอบด้วยตนเอง การทดสอบอัตโนมัติ

ใช้เวลานานกว่าจะเสร็จ

ใช้เวลาทำน้อยกว่ามาก

ไม่ต้องใช้ทักษะการเขียนโปรแกรม

ต้องใช้ทักษะการเขียนโปรแกรม

ต้นทุนเริ่มต้นต่ำลง แต่ยิ่งทำการทดสอบนานขึ้น ต้นทุนก็จะยิ่งสูงขึ้น

ต้องการการลงทุนเริ่มแรกที่สูงขึ้น แต่ให้ผลกำไรมากกว่าสำหรับโครงการระยะยาวที่มีการทดสอบซ้ำๆ มากมาย

มีโอกาสผิดพลาดสูงเนื่องจากปัจจัยมนุษย์

แม่นยำและเชื่อถือได้มากขึ้นหากการทดสอบถูกสร้างขึ้นมาอย่างดี

งานที่ซับซ้อนต้องการผู้เชี่ยวชาญเพิ่มเติม

งานที่ซับซ้อนต้องใช้เวลาเตรียมการเพิ่มเติม

ไม่เหมาะสำหรับการทดสอบประสิทธิภาพ โหลด หรือความเครียด

ไม่เหมาะสำหรับการใช้งาน ส่วนต่อประสานกับผู้ใช้ หรือการทดสอบประสบการณ์ผู้ใช้

คุณควรใช้การทดสอบด้วยตนเองที่ไหน

การทดสอบด้วยตนเอง - ใช้ที่ไหน

ต่อไปนี้คือการทดสอบบางส่วนที่ดำเนินการด้วยตนเองได้ดีกว่า:

  • การทดสอบเชิงสำรวจ นี่คือการทดสอบเบื้องต้นของคุณลักษณะใหม่ทั้งหมด เนื่องจากฟังก์ชันที่เกี่ยวข้องเป็นฟังก์ชันใหม่และไม่มีกรณีทดสอบสำเร็จรูป การทดสอบอัตโนมัติประเภทนี้จึงเป็นไปไม่ได้
  • Visual GUI และการทดสอบการใช้งาน การทดสอบอินเทอร์เฟซผู้ใช้และประสบการณ์ของผู้ใช้รวมถึงการประเมินด้วยภาพและต้องมีการสังเกตจากมนุษย์
  • การทดสอบเฉพาะกิจ การทดสอบเหล่านี้เป็นการทดสอบที่เกิดขึ้นเองโดยไม่ปฏิบัติตามข้อกำหนดหรือเอกสารประกอบ และมุ่งเป้าไปที่การเปิดเผยข้อบกพร่องที่ไม่คาดคิด

คุณควรใช้การทดสอบอัตโนมัติที่ใด

คุณควรใช้การทดสอบอัตโนมัติที่ไหน

การทดสอบอัตโนมัติมีการใช้งานมากขึ้นเรื่อยๆ ในปัจจุบัน และกรณีใหม่ๆ ปรากฏว่าการทดสอบอัตโนมัติสามารถจัดการได้ นี่เป็นเพียงตัวอย่างบางส่วนที่แนะนำให้ใช้การทดสอบอัตโนมัติ:

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

แล้วคำตัดสินล่ะ?

หลังจากเปรียบเทียบการทดสอบด้วยตนเองและการทดสอบอัตโนมัติแล้ว เราไม่สามารถพูดได้อย่างแน่นอนว่าการทดสอบอัตโนมัติดีกว่าการทดสอบด้วยตนเองหรือไม่
การทดสอบซอฟต์แวร์เป็นกระบวนการที่ซับซ้อนและหลากหลายมาก ขึ้นอยู่กับสิ่งที่กำลังทดสอบ ในขั้นตอนใด และเพื่อวัตถุประสงค์ใด การทดสอบที่แตกต่างกันจะดำเนินการ และแน่นอนว่าสิ่งนี้ส่งผลต่อการเลือกระหว่างการทดสอบด้วยตนเองและแบบอัตโนมัติ การทดสอบบางอย่างทำได้ดีกว่าแบบอัตโนมัติ และการทดสอบอื่นๆ ควรดำเนินการด้วยตนเอง

วิธีที่ดีที่สุด สำหรับบริษัทพัฒนาซอฟต์แวร์ในการเพิ่มทักษะคือการ รวมผู้เชี่ยวชาญด้านการทดสอบแบบ manual และแบบอัตโนมัติ แบ่งงานทดสอบระหว่างพวกเขาอย่างชาญฉลาด และใช้ทั้งสองวิธีให้ดีที่สุด แต่ละโปรเจ็กต์สามารถรวมการทดสอบแบบแมนนวลและแบบอัตโนมัติในสัดส่วนที่ต่างกัน และเป็นการดีที่สุดที่จะสร้างกลยุทธ์การทดสอบของโปรเจ็กต์ตั้งแต่เริ่มต้น