การทดสอบระบบอัตโนมัติ
การทดสอบอัตโนมัติคืออะไร?
การทดสอบระบบอัตโนมัติ เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ดำเนินการโดยใช้เครื่องมือซอฟต์แวร์ทดสอบอัตโนมัติพิเศษเพื่อดำเนินการชุดกรณีทดสอบ ในทางตรงกันข้าม การทดสอบด้วยตนเองนั้นดำเนินการโดยมนุษย์ที่นั่งอยู่หน้าคอมพิวเตอร์เพื่อดำเนินการตามขั้นตอนการทดสอบอย่างระมัดระวัง
ซอฟต์แวร์ทดสอบอัตโนมัติยังสามารถป้อนข้อมูลการทดสอบลงในระบบที่อยู่ระหว่างการทดสอบ เปรียบเทียบผลลัพธ์ที่คาดหวังและผลลัพธ์จริง และสร้างรายงานการทดสอบโดยละเอียด 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 การบำรุงรักษาโค้ด
- ปรับปรุงการนำกลับมาใช้ใหม่
- ผู้ทดสอบที่ไม่ใช่ด้านเทคนิคสามารถมีส่วนร่วมในโค้ดได้
- ระยะเวลาการฝึกใช้เครื่องมือสามารถลดลงได้
- เกี่ยวข้องกับข้อมูลตามความเหมาะสม
มีเฟรมเวิร์กสี่ประเภทที่ใช้ในการทดสอบซอฟต์แวร์ระบบอัตโนมัติ:
- กรอบการทำงานอัตโนมัติที่ขับเคลื่อนด้วยข้อมูล
- กรอบการทำงานอัตโนมัติที่ขับเคลื่อนด้วยคำหลัก
- กรอบการทำงานอัตโนมัติแบบโมดูลาร์
- กรอบการทำงานอัตโนมัติแบบไฮบริด
แนวทางปฏิบัติที่ดีที่สุดของเครื่องมืออัตโนมัติ
หากต้องการรับ ROI สูงสุดจากระบบอัตโนมัติ ให้ปฏิบัติตามสิ่งต่อไปนี้
- จำเป็นต้องกำหนดขอบเขตของระบบอัตโนมัติโดยละเอียดก่อนเริ่มโครงการ นี่เป็นการตั้งความคาดหวังจากระบบอัตโนมัติอย่างถูกต้อง
- เลือกเครื่องมืออัตโนมัติที่เหมาะสม: ไม่ต้องเลือกเครื่องมือตามความนิยม แต่ต้องเหมาะสมกับข้อกำหนดของระบบอัตโนมัติ
- เลือกกรอบที่เหมาะสม
- มาตรฐานการเขียนสคริปต์ - ต้องปฏิบัติตามมาตรฐานในขณะที่เขียนสคริปต์สำหรับระบบอัตโนมัติ บางส่วนของพวกเขาคือ-
- สร้างสคริปต์ ความคิดเห็น และการเยื้องโค้ดที่เหมือนกัน
- การจัดการข้อยกเว้นที่เพียงพอ - วิธีจัดการกับข้อผิดพลาดเกี่ยวกับความล้มเหลวของระบบหรือพฤติกรรมที่ไม่คาดคิดของแอปพลิเคชัน
- ข้อความที่ผู้ใช้กำหนดควรได้รับการเข้ารหัสหรือเป็นมาตรฐานสำหรับการบันทึกข้อผิดพลาดเพื่อให้ผู้ทดสอบเข้าใจ
- การวัดผลเมตริก - ความสำเร็จของระบบอัตโนมัติไม่สามารถกำหนดได้จากการเปรียบเทียบความพยายามด้วยตนเองกับความพยายามของระบบอัตโนมัติ แต่จะต้องจับผลเมตริกต่อไปนี้ด้วย
- เปอร์เซ็นต์ของข้อบกพร่องที่พบ
- เวลาที่จำเป็นสำหรับการทดสอบระบบอัตโนมัติสำหรับแต่ละรอบการเปิดตัว
- ใช้เวลาน้อยที่สุดในการปล่อย
- ดัชนีความพึงพอใจของลูกค้า
- การปรับปรุงผลผลิต
คำแนะนำข้างต้นหากปฏิบัติตามสามารถช่วยทำให้ระบบอัตโนมัติของคุณประสบความสำเร็จได้อย่างมาก
ประโยชน์ของการทดสอบระบบอัตโนมัติ
ต่อไปนี้คือประโยชน์ของการทดสอบระบบอัตโนมัติ:
- เร็วกว่าการทดสอบด้วยตนเองถึง 70%
- ครอบคลุมการทดสอบคุณสมบัติแอปพลิเคชันที่กว้างขึ้น
- เชื่อถือได้ในผลลัพธ์
- มั่นใจในความสม่ำเสมอ
- ประหยัดเวลาและค่าใช้จ่าย
- ปรับปรุงความแม่นยำ
- ไม่จำเป็นต้องมีการแทรกแซงของมนุษย์ในขณะประหารชีวิต
- เพิ่มประสิทธิภาพ
- ความเร็วที่ดีขึ้นในการดำเนินการทดสอบ
- สคริปต์ทดสอบที่ใช้ซ้ำได้
- ทดสอบบ่อยๆ และทั่วถึง
- วงจรการดำเนินการที่มากขึ้นสามารถทำได้ผ่านระบบอัตโนมัติ
- ช่วงเช้าออกสู่ตลาด
ประเภทของการทดสอบอัตโนมัติ
- การทดสอบควัน
- การทดสอบหน่วย
- การทดสอบการผสานรวม
- การทดสอบสมรรถนะ
- การทดสอบคำหลัก
- การทดสอบการถดถอย
- การทดสอบที่ขับเคลื่อนด้วยข้อมูล
- Black Box การทดสอบ
จะเลือกเครื่องมืออัตโนมัติได้อย่างไร
การเลือกเครื่องมือที่เหมาะสมอาจเป็นงานที่ยุ่งยาก เกณฑ์ต่อไปนี้จะช่วยให้คุณเลือกเครื่องมือที่ดีที่สุดตามความต้องการของคุณได้
- การสนับสนุนด้านสิ่งแวดล้อม
- ความง่ายดายในการใช้งาน
- การทดสอบฐานข้อมูล
- การระบุวัตถุ
- การทดสอบภาพ
- การทดสอบการกู้คืนข้อผิดพลาด
- การทำแผนที่วัตถุ
- ภาษาสคริปต์ที่ใช้
- รองรับการทดสอบประเภทต่างๆ – รวมถึงฟังก์ชันการทำงาน การจัดการการทดสอบ อุปกรณ์เคลื่อนที่ ฯลฯ...
- รองรับกรอบการทดสอบหลายแบบ
- ง่ายต่อการดีบักสคริปต์ซอฟต์แวร์อัตโนมัติ
- ความสามารถในการจดจำวัตถุในสภาพแวดล้อมใดๆ
- รายงานการทดสอบและผลลัพธ์ที่ครอบคลุม
- ลดต้นทุนการฝึกอบรมของเครื่องมือที่เลือกให้เหลือน้อยที่สุด
การเลือกเครื่องมือถือเป็นความท้าทายที่ใหญ่ที่สุดประการหนึ่งที่ต้องจัดการก่อนที่จะหันมาใช้ระบบอัตโนมัติ ขั้นแรก ระบุข้อกำหนด สำรวจเครื่องมือต่างๆ และความสามารถของเครื่องมือ กำหนดความคาดหวังจากเครื่องมือ และลองใช้ 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