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

การทดสอบอัตโนมัติกับการทดสอบด้วยตนเอง: ความแตกต่างที่สำคัญ

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

การทดสอบด้วยตนเองคืออะไร?

การทดสอบด้วยตนเองคือการทดสอบซอฟต์แวร์ที่นักวิเคราะห์ QA ดำเนินการทดสอบด้วยตนเอง ดำเนินการเพื่อค้นหาจุดบกพร่องในซอฟต์แวร์ที่อยู่ระหว่างการพัฒนา

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

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

การทดสอบอัตโนมัติคืออะไร?

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

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

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

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

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

พารามิเตอร์ การทดสอบระบบอัตโนมัติ การทดสอบด้วยตนเอง
คำนิยาม การทดสอบอัตโนมัติใช้เครื่องมืออัตโนมัติเพื่อดำเนินการกรณีทดสอบ ในการทดสอบด้วยตนเอง กรณีทดสอบจะดำเนินการโดยผู้ทดสอบที่เป็นมนุษย์และซอฟต์แวร์
ระยะเวลาดำเนินการ การทดสอบอัตโนมัติทำได้เร็วกว่าการดำเนินการด้วยตนเองอย่างมาก การทดสอบด้วยตนเองใช้เวลานานและใช้ทรัพยากรบุคคล
การทดสอบเชิงสำรวจ ระบบอัตโนมัติไม่อนุญาตให้มีการทดสอบแบบสุ่ม การทดสอบเชิงสำรวจสามารถทำได้ในการทดสอบด้วยตนเอง
การลงทุนระยะแรก การลงทุนเริ่มแรกในการทดสอบอัตโนมัตินั้นสูงกว่า แม้ว่า ROI จะดีกว่าในระยะยาว การลงทุนเริ่มแรกในการทดสอบด้วยตนเองนั้นค่อนข้างต่ำกว่า ROI ต่ำกว่าเมื่อเทียบกับการทดสอบระบบอัตโนมัติในระยะยาว
ความเชื่อถือได้ การทดสอบอัตโนมัติเป็นวิธีการที่เชื่อถือได้ เนื่องจากดำเนินการโดยเครื่องมือและสคริปต์ ไม่มีการทดสอบความเหนื่อยล้า การทดสอบด้วยตนเองนั้นไม่แม่นยำเท่าที่ควรเนื่องจากอาจมีข้อผิดพลาดจากมนุษย์
UI เปลี่ยน สำหรับการเปลี่ยนแปลงเล็กน้อยใน UI ของ AUT สคริปต์ทดสอบอัตโนมัติจำเป็นต้องได้รับการแก้ไขเพื่อให้ทำงานตามที่คาดไว้ การเปลี่ยนแปลงเล็กๆ น้อยๆ เช่น การเปลี่ยนแปลงรหัส คลาส ฯลฯ ของปุ่มจะไม่ขัดขวางการทำงานของผู้ทดสอบด้วยตนเอง
การลงทุน จำเป็นต้องมีการลงทุนสำหรับเครื่องมือทดสอบและวิศวกรระบบอัตโนมัติ จำเป็นต้องมีการลงทุนด้านทรัพยากรมนุษย์
ต้นทุนที่มีประสิทธิภาพ ไม่คุ้มค่าสำหรับการถดถอยในปริมาณต่ำ ไม่คุ้มค่าสำหรับการถดถอยปริมาณมาก
การมองเห็นรายงานการทดสอบ ด้วยการทดสอบอัตโนมัติ ผู้มีส่วนได้ส่วนเสียทั้งหมดสามารถเข้าสู่ระบบอัตโนมัติและตรวจสอบผลการดำเนินการทดสอบได้ การทดสอบด้วยตนเองมักจะบันทึกไว้ใน Excel หรือ Word และผลการทดสอบไม่พร้อม/พร้อมใช้
การสังเกตของมนุษย์ การทดสอบอัตโนมัติไม่เกี่ยวข้องกับการพิจารณาของมนุษย์ ดังนั้นจึงไม่สามารถรับประกันถึงความเป็นมิตรต่อผู้ใช้และประสบการณ์เชิงบวกของลูกค้าได้ วิธีการทดสอบด้วยตนเองช่วยให้มนุษย์สังเกตได้ ซึ่งอาจเป็นประโยชน์ในการเสนอระบบที่เป็นมิตรต่อผู้ใช้
การทดสอบประสิทธิภาพ การทดสอบประสิทธิภาพ เช่น การทดสอบโหลด การทดสอบความเครียด การทดสอบ Spike ฯลฯ จะต้องได้รับการทดสอบโดยเครื่องมืออัตโนมัติโดยบังคับ การทดสอบประสิทธิภาพไม่สามารถทำได้ด้วยตนเอง
การดำเนินการแบบขนาน การทดสอบนี้สามารถดำเนินการได้บนแพลตฟอร์มปฏิบัติการที่แตกต่างกันแบบคู่ขนานและลดระยะเวลาในการดำเนินการทดสอบ การทดสอบด้วยตนเองสามารถดำเนินการแบบคู่ขนานได้ แต่จะต้องเพิ่มทรัพยากรบุคคลซึ่งมีราคาแพง
การทดสอบแบบแบตช์ คุณสามารถรวมสคริปต์ทดสอบหลายชุดสำหรับการดำเนินการทุกคืน การทดสอบด้วยตนเองไม่สามารถจัดเป็นชุดได้
ความรู้ด้านการเขียนโปรแกรม ความรู้ด้านการเขียนโปรแกรมเป็นสิ่งจำเป็นในการทดสอบระบบอัตโนมัติ ไม่จำเป็นต้องเขียนโปรแกรมในการทดสอบด้วยตนเอง
จัดตั้งขึ้น การทดสอบอัตโนมัติจำเป็นต้องมีการตั้งค่าการดำเนินการทดสอบที่ไม่ซับซ้อนมากนัก ความต้องการการทดสอบด้วยตนเองมีการตั้งค่าการดำเนินการทดสอบที่ตรงไปตรงมามากขึ้น
การมีปฏิสัมพันธ์ ทำโดยเครื่องมือ มันแม่นยำและไม่เคยเบื่อ! การดำเนินการทดสอบด้วยตนเองซ้ำๆ อาจทำให้น่าเบื่อและเกิดข้อผิดพลาดได้ง่าย
แนวทางในอุดมคติ การทดสอบอัตโนมัติมีประโยชน์เมื่อดำเนินการกรณีทดสอบชุดเดียวกันบ่อยครั้ง การทดสอบด้วยตนเองพิสูจน์ได้ว่ามีประโยชน์เมื่อกรณีทดสอบจำเป็นต้องรันเพียงครั้งเดียวหรือสองครั้งเท่านั้น
การตรวจสอบการสร้าง
การทดสอบ
การทดสอบอัตโนมัติมีประโยชน์สำหรับการตรวจสอบบิลด์
การทดสอบ (BVT)
การดำเนินการทดสอบ Build Verification (BVT) เป็นเรื่องยากมากและใช้เวลานานในการทดสอบด้วยตนเอง
กำหนดเวลา การทดสอบอัตโนมัติไม่มีความเสี่ยงที่จะพลาดการทดสอบที่ตัดสินใจไว้ล่วงหน้า การทดสอบด้วยตนเองมีความเสี่ยงสูงที่จะพลาดกำหนดเวลาการทดสอบที่กำหนดไว้ล่วงหน้า
กรอบ การทดสอบระบบอัตโนมัติใช้เฟรมเวิร์ก เช่น Data Drive, Keyword, Hybrid เพื่อเร่งกระบวนการอัตโนมัติ การทดสอบด้วยตนเองไม่ได้ใช้กรอบงาน แต่อาจใช้แนวทาง รายการตรวจสอบ กระบวนการที่เข้มงวดเพื่อร่างกรณีทดสอบบางกรณี
เอกสาร การทดสอบอัตโนมัติทำหน้าที่เป็นเอกสารที่ให้คุณค่าการฝึกอบรม โดยเฉพาะอย่างยิ่งสำหรับกรณีทดสอบหน่วยอัตโนมัติ นักพัฒนาใหม่สามารถดูกรณีการทดสอบหน่วยและทำความเข้าใจฐานโค้ดได้อย่างรวดเร็ว กรณีการทดสอบด้วยตนเองไม่ได้ให้ค่าการฝึกอบรม
การออกแบบการทดสอบ การทดสอบหน่วยอัตโนมัติบังคับใช้/ขับเคลื่อนการออกแบบการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ การทดสอบหน่วยด้วยตนเองไม่ได้ผลักดันการออกแบบเข้าสู่กระบวนการเขียนโค้ด
devops การทดสอบอัตโนมัติช่วยในการทดสอบการยืนยันบิลด์และเป็นส่วนสำคัญของ DevOps Cycle การทดสอบด้วยตนเองเอาชนะหลักการสร้างอัตโนมัติของ DevOps
ควรใช้เมื่อใด? การทดสอบอัตโนมัติเหมาะสำหรับการทดสอบการถดถอย การทดสอบประสิทธิภาพ การทดสอบโหลด หรือกรณีทดสอบการทำงานที่สามารถทำซ้ำได้สูง การทดสอบด้วยตนเองเหมาะสำหรับการทดสอบเชิงสำรวจ การใช้งาน และการทดสอบเฉพาะกิจ ควรใช้ในกรณีที่ AUT เปลี่ยนแปลงบ่อยครั้ง

ข้อดีและข้อเสียของการทดสอบด้วยตนเอง

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

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

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

  • Less วิธีการทดสอบที่เชื่อถือได้เพราะดำเนินการโดยมนุษย์ ดังนั้นจึงมีแนวโน้มที่จะเกิดข้อผิดพลาดและข้อผิดพลาดอยู่เสมอ
  • ไม่สามารถบันทึกกระบวนการทดสอบด้วยตนเองได้ ดังนั้นจึงไม่สามารถนำการทดสอบด้วยตนเองกลับมาใช้ซ้ำได้
  • ในวิธีการทดสอบนี้ งานบางอย่างทำได้ยากด้วยตนเองซึ่งอาจต้องใช้เวลาเพิ่มเติมในขั้นตอนการทดสอบซอฟต์แวร์

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

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

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

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

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