การทดสอบระบบอัตโนมัติ

การทดสอบระบบอัตโนมัติ

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

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

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

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

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

ทำไมต้องทดสอบระบบอัตโนมัติ?

ทำไมต้องทดสอบอัตโนมัติ?
ทำไมต้องทดสอบอัตโนมัติ?

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

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

กรณีทดสอบใดที่จะทำให้เป็นอัตโนมัติ

สามารถเลือกกรณีทดสอบที่จะทำงานอัตโนมัติได้โดยใช้เกณฑ์ต่อไปนี้เพื่อเพิ่ม ROI ของการทำงานอัตโนมัติ

  • กรณีทดสอบที่มีความเสี่ยงสูง – วิกฤตทางธุรกิจ
  • กรณีทดสอบที่ถูกดำเนินการซ้ำๆ
  • กรณีทดสอบที่น่าเบื่อมากหรือยากต่อการดำเนินการด้วยตนเอง
  • กรณีทดสอบที่ใช้เวลานาน

ประเภทกรณีทดสอบต่อไปนี้ไม่เหมาะสำหรับการทำงานอัตโนมัติ:

  • กรณีทดสอบที่ได้รับการออกแบบใหม่และไม่ได้ดำเนินการด้วยตนเองอย่างน้อยหนึ่งครั้ง
  • กรณีทดสอบที่ข้อกำหนดมีการเปลี่ยนแปลงบ่อยครั้ง
  • กรณีทดสอบที่ดำเนินการแบบเฉพาะกิจ

กระบวนการทดสอบอัตโนมัติ

ขั้นตอนต่อไปนี้เป็นไปตามกระบวนการอัตโนมัติ

ทดสอบกระบวนการอัตโนมัติ
ทดสอบกระบวนการอัตโนมัติ

ขั้นตอน 1) การเลือกเครื่องมือทดสอบ

ขั้นตอน 2) กำหนดขอบเขตของระบบอัตโนมัติ

ขั้นตอน 3) การวางแผน การออกแบบ และพัฒนา

ขั้นตอน 4) ทดสอบการทำงาน

ขั้นตอน 5) ซ่อมบำรุง

ขั้นตอนที่ 1) การเลือกเครื่องมือทดสอบ

การเลือกเครื่องมือทดสอบส่วนใหญ่ขึ้นอยู่กับเทคโนโลยีที่แอปพลิเคชันภายใต้การทดสอบสร้างขึ้น ตัวอย่างเช่น คิวทีพี ไม่รองรับ Informatica ดังนั้นจึงไม่สามารถใช้ QTP สำหรับการทดสอบได้ สารสนเทศ การใช้งาน เป็นความคิดที่ดีที่จะดำเนินการ Proof of Concept of Tool บน AUT

ขั้นตอนที่ 2) กำหนดขอบเขตของระบบอัตโนมัติ

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

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

ขั้นตอนที่ 3) การวางแผน การออกแบบ และการพัฒนา

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

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

ขั้นตอนที่ 4) การดำเนินการทดสอบ

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

การดำเนินการสามารถทำได้โดยใช้เครื่องมืออัตโนมัติโดยตรงหรือผ่านเครื่องมือการจัดการการทดสอบซึ่งจะเรียกใช้เครื่องมืออัตโนมัติ

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

ขั้นตอนที่ 5) ทดสอบแนวทางการบำรุงรักษาระบบอัตโนมัติ

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

กรอบการทำงานอัตโนมัติ

กรอบงานคือชุดแนวทางอัตโนมัติที่ช่วยใน

  • การรักษาความสม่ำเสมอของการทดสอบ
  • ปรับปรุงโครงสร้างการทดสอบ
  • การใช้รหัสขั้นต่ำ
  • Less การบำรุงรักษาโค้ด
  • ปรับปรุงการนำกลับมาใช้ใหม่
  • ผู้ทดสอบที่ไม่ใช่ด้านเทคนิคสามารถมีส่วนร่วมในโค้ดได้
  • ระยะเวลาการฝึกใช้เครื่องมือสามารถลดลงได้
  • เกี่ยวข้องกับข้อมูลตามความเหมาะสม

มีเฟรมเวิร์กสี่ประเภทที่ใช้ในการทดสอบซอฟต์แวร์ระบบอัตโนมัติ:

กรอบการทำงานอัตโนมัติ

  1. กรอบการทำงานอัตโนมัติที่ขับเคลื่อนด้วยข้อมูล
  2. กรอบการทำงานอัตโนมัติที่ขับเคลื่อนด้วยคำหลัก
  3. กรอบการทำงานอัตโนมัติแบบโมดูลาร์
  4. กรอบการทำงานอัตโนมัติแบบไฮบริด

แนวทางปฏิบัติที่ดีที่สุดของเครื่องมืออัตโนมัติ

หากต้องการรับ ROI สูงสุดจากระบบอัตโนมัติ ให้ปฏิบัติตามสิ่งต่อไปนี้

  • จำเป็นต้องกำหนดขอบเขตของระบบอัตโนมัติโดยละเอียดก่อนเริ่มโครงการ นี่เป็นการตั้งความคาดหวังจากระบบอัตโนมัติอย่างถูกต้อง
  • เลือกเครื่องมืออัตโนมัติที่เหมาะสม: ไม่ต้องเลือกเครื่องมือตามความนิยม แต่ต้องเหมาะสมกับข้อกำหนดของระบบอัตโนมัติ
  • เลือกกรอบที่เหมาะสม
  • มาตรฐานการเขียนสคริปต์ - ต้องปฏิบัติตามมาตรฐานในขณะที่เขียนสคริปต์สำหรับระบบอัตโนมัติ บางส่วนของพวกเขาคือ-
    1. สร้างสคริปต์ ความคิดเห็น และการเยื้องโค้ดที่เหมือนกัน
    2. การจัดการข้อยกเว้นที่เพียงพอ - วิธีจัดการกับข้อผิดพลาดเกี่ยวกับความล้มเหลวของระบบหรือพฤติกรรมที่ไม่คาดคิดของแอปพลิเคชัน
    3. ข้อความที่ผู้ใช้กำหนดควรได้รับการเข้ารหัสหรือเป็นมาตรฐานสำหรับการบันทึกข้อผิดพลาดเพื่อให้ผู้ทดสอบเข้าใจ
  • การวัดผลเมตริก - ความสำเร็จของระบบอัตโนมัติไม่สามารถกำหนดได้จากการเปรียบเทียบความพยายามด้วยตนเองกับความพยายามของระบบอัตโนมัติ แต่จะต้องจับผลเมตริกต่อไปนี้ด้วย
    1. เปอร์เซ็นต์ของข้อบกพร่องที่พบ
    2. เวลาที่จำเป็นสำหรับการทดสอบระบบอัตโนมัติสำหรับแต่ละรอบการเปิดตัว
    3. ใช้เวลาน้อยที่สุดในการปล่อย
    4. ดัชนีความพึงพอใจของลูกค้า
    5. การปรับปรุงผลผลิต

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

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

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

ต่อไปนี้คือประโยชน์ของการทดสอบระบบอัตโนมัติ:

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

ประเภทของการทดสอบอัตโนมัติ

จะเลือกเครื่องมืออัตโนมัติได้อย่างไร

การเลือกเครื่องมือที่เหมาะสมอาจเป็นงานที่ยุ่งยาก เกณฑ์ต่อไปนี้จะช่วยให้คุณเลือกเครื่องมือที่ดีที่สุดตามความต้องการของคุณได้

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

การเลือกเครื่องมือถือเป็นความท้าทายที่ใหญ่ที่สุดประการหนึ่งที่ต้องจัดการก่อนที่จะหันมาใช้ระบบอัตโนมัติ ขั้นแรก ระบุข้อกำหนด สำรวจเครื่องมือต่างๆ และความสามารถของเครื่องมือ กำหนดความคาดหวังจากเครื่องมือ และลองใช้ Proof Of Concept

เครื่องมือทดสอบอัตโนมัติ

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

1) Selenium

เป็นเครื่องมือทดสอบซอฟต์แวร์ที่ใช้สำหรับการทดสอบการถดถอย มันเป็น เครื่องมือทดสอบโอเพ่นซอร์ส ที่ให้ความสะดวกในการเล่นและบันทึกสำหรับการทดสอบการถดถอย ที่ Selenium IDE รองรับเฉพาะ Mozilla เท่านั้น Firefox เว็บเบราว์เซอร์.

สิ่งอำนวยความสะดวก:

  • มีข้อกำหนดในการส่งออกสคริปต์ที่บันทึกไว้ในภาษาอื่นเช่น Java, รูบี้, RSpec, Python, C# ฯลฯ
  • สามารถใช้ได้กับ framework เช่น JUnit และ TestNG
  • สามารถทำการทดสอบได้หลายครั้ง
  • เติมข้อความอัตโนมัติสำหรับ Selenium คำสั่งที่ใช้กันทั่วไป
  • การทดสอบเกมส์
  • ระบุองค์ประกอบโดยใช้ id, ชื่อ, X-path ฯลฯ
  • จัดเก็บการทดสอบเป็นสคริปต์ Ruby, HTML และรูปแบบอื่นๆ
  • มีตัวเลือกในการยืนยันชื่อเรื่องสำหรับทุกหน้า
  • รองรับไฟล์ selenium user-extensions.js
  • อนุญาตให้แทรกความคิดเห็นตรงกลางสคริปต์เพื่อความเข้าใจและการดีบักที่ดีขึ้น

ดาวน์โหลดลิงค์: https://www.selenium.dev/downloads/

สรุปบทช่วยสอนการทดสอบระบบอัตโนมัติ

พื้นฐานการทดสอบอัตโนมัติ: การทดสอบอัตโนมัติเป็นเทคนิคการทดสอบซอฟต์แวร์ที่ดำเนินการโดยใช้เครื่องมือซอฟต์แวร์ทดสอบอัตโนมัติพิเศษเพื่อดำเนินการชุดกรณีทดสอบ

การทดสอบอัตโนมัติเป็นวิธีที่ดีที่สุดในการเพิ่มประสิทธิภาพ ความครอบคลุมของการทดสอบ และความเร็วในการดำเนินการในการทดสอบซอฟต์แวร์

การเลือกเครื่องมือทดสอบส่วนใหญ่ขึ้นอยู่กับเทคโนโลยีที่แอปพลิเคชันภายใต้การทดสอบสร้างขึ้น

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

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