เฟรมเวิร์กสำหรับการทดสอบอัตโนมัติ: Archiโครงสร้างและประเภท

⚡ สรุปอย่างชาญฉลาด

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

  • 📐 คำจำกัดความหลัก: กรอบการทำงานคือชุดของแนวทาง ไม่ใช่กฎเกณฑ์ ที่ช่วยให้สามารถนำกลับมาใช้ใหม่ได้ พกพาได้สะดวก และลดต้นทุนการบำรุงรักษา
  • ⏺️ การเขียนสคริปต์เชิงเส้น: ระบบบันทึกและเล่นซ้ำนั้นสร้างได้เร็วที่สุด แต่ดูแลรักษายากที่สุด เพราะข้อมูลถูกบันทึกไว้ตายตัว
  • 🧱 ห้องสมุดทดสอบ Archiเทคเจอร์: ขั้นตอนทั่วไปจะกลายเป็นฟังก์ชันที่นำกลับมาใช้ใหม่ได้ โดยเรียกใช้ผ่านสคริปต์หลัก ซึ่งช่วยเพิ่มการนำกลับมาใช้ใหม่ แต่ต้องแลกมาด้วยเวลาในการวางแผนที่มากขึ้น
  • 📊 ขับเคลื่อนด้วยข้อมูล: ตรรกะการทดสอบยังคงอยู่ในสคริปต์ ในขณะที่ข้อมูลถูกย้ายไปยัง Excel, CSV หรือฐานข้อมูล ทำให้สามารถรองรับสถานการณ์ต่างๆ ได้มากมายต่อสคริปต์เดียว
  • 🔑 การค้นหาด้วยคีย์เวิร์ด: การดำเนินการต่างๆ จะถูกจัดเก็บเป็นคำหลักในตาราง ทำให้การทดสอบเป็นอิสระจากทั้งเครื่องมือและแอปพลิเคชัน
  • 🔀 รุ่นไฮบริด: ชุดซอฟต์แวร์ที่มีประสิทธิภาพส่วนใหญ่จะผสานตารางคำหลักเข้ากับการแยกย่อยตามฟังก์ชัน เพื่อสร้างความสมดุลระหว่างความพยายามและการครอบคลุม

ทดสอบกรอบการทำงานอัตโนมัติ Archiโครงสร้างและประเภท

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

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

ทำไมคุณถึงต้องมีกรอบงาน?

ลองพิจารณาตัวอย่างเพื่อทำความเข้าใจว่าทำไมคุณถึงต้องมี Framework

ฉันแน่ใจว่าคุณเคยเข้าร่วมสัมมนา/การบรรยาย/การประชุมที่ผู้เข้าร่วมได้รับการขอให้ปฏิบัติตามหลักเกณฑ์ต่อไปนี้

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

คุณคิดว่าคุณสามารถจัดสัมมนาได้หรือไม่ โดยไม่ต้อง ปฏิบัติตามแนวทางเหล่านี้หรือไม่?

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

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

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

ทดสอบกรอบการทำงานอัตโนมัติ Archiโครงสร้าง: ส่วนประกอบสำคัญ

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

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

ประเภทของเฟรมเวิร์กด้านล่างนี้แตกต่างกันหลักๆ ในเรื่องความเข้มงวดในการแบ่งชั้นเหล่านี้

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

ด้านล่างนี้คือกรอบการทดสอบอัตโนมัติประเภทต่างๆ:

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

มาดูรายละเอียดกันดีกว่า –

1) การเขียนสคริปต์เชิงเส้น - บันทึกและเล่น

มันง่ายที่สุดในบรรดา Testing Automation Frameworks ทั้งหมดและรู้จักกันในชื่อว่า “บันทึกและเล่น”. ในการนี​​้ การทดสอบระบบอัตโนมัติ กรอบงาน ผู้ทดสอบบันทึกแต่ละขั้นตอนด้วยตนเอง (การนำทางและการป้อนข้อมูลของผู้ใช้) แทรกจุดตรวจสอบ (ขั้นตอนการตรวจสอบ) ในรอบแรก จากนั้นเขาจะเล่นบทที่บันทึกไว้ในรอบต่อๆ ไป

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

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

ข้อดี

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

ข้อเสีย

  • การใช้สคริปต์ซ้ำเล็กน้อย
  • ข้อมูลการทดสอบจะถูกฮาร์ดโค้ดลงในสคริปต์
  • การบำรุงรักษาฝันร้าย

2) ห้องสมุดทดสอบ Archiกรอบงานเทคเจอร์

มันยังรู้อีกด้วยว่า “การเขียนสคริปต์ที่มีโครงสร้าง” or “การสลายตัวตามหน้าที่”.

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

ตัวอย่าง: จากตัวอย่างข้างต้น ฟังก์ชั่นเข้าสู่ระบบการสำรองเที่ยวบินจะมีลักษณะดังนี้

Function Login()
  SystemUtil.Run "flight4a.exe","","","open"
  Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
  Dialog("Login").WinEdit("Password:").Set "Mercury"
  Dialog("Login").WinButton("OK").Click
End Function

ตอนนี้คุณจะเรียกใช้ฟังก์ชันนี้ในสคริปต์หลักดังนี้

Call Login()
---------------------------
'Other Function calls / Test Steps.
---------------------------

ข้อดี

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

ข้อเสีย

  • ความเชี่ยวชาญด้านเทคนิคเป็นสิ่งจำเป็นในการเขียนสคริปต์โดยใช้ Test Library Framework
  • ต้องใช้เวลามากขึ้นในการวางแผนและเตรียมสคริปต์ทดสอบ
  • ข้อมูลการทดสอบได้รับการฮาร์ดโค้ดภายในสคริปต์

3) กรอบการทดสอบที่ขับเคลื่อนด้วยข้อมูล

ในกรอบนี้ในขณะที่ กรณีทดสอบ ตรรกะการทำงานจะอยู่ในสคริปต์ทดสอบ ส่วนข้อมูลทดสอบจะแยกออกมาและเก็บไว้ภายนอกสคริปต์ทดสอบ ข้อมูลทดสอบจะถูกอ่านจากไฟล์ภายนอก (ไฟล์ Excel, ไฟล์ข้อความ, ไฟล์ CSV, แหล่งข้อมูล ODBC, อ็อบเจ็กต์ DAO, อ็อบเจ็กต์ ADO) และโหลดลงในตัวแปรภายในสคริปต์ทดสอบ ตัวแปรเหล่านี้ใช้สำหรับทั้งค่าป้อนเข้าและค่าตรวจสอบ สคริปต์ทดสอบเองนั้นจัดทำขึ้นโดยใช้ Linear Scripting หรือ Test Library Framework เทคนิคนี้จะอธิบายเพิ่มเติมในส่วนต่อไป การทดสอบที่ขับเคลื่อนด้วยข้อมูล เกี่ยวกับการสอน

ตัวอย่าง: เดเวโลping สคริปต์การเข้าสู่ระบบการจองเที่ยวบินโดยใช้วิธีนี้จะประกอบด้วยสองขั้นตอน

ขั้นตอน 1) สร้างการทดสอบ – ไฟล์ข้อมูลซึ่งอาจเป็น Excel , CSV หรือแหล่งฐานข้อมูลอื่น ๆ

ชื่อตัวแทน รหัสผ่าน
ชะแลงขนาดสั้น Mercury
ทีน่า ปรอท
Bill ปรอท

ขั้นตอน 2) พัฒนาสคริปต์ทดสอบและอ้างอิงถึงแหล่งข้อมูลการทดสอบของคุณ

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
'Note "dtGlobalSheet" is the default excel sheet provided by QTP.

ข้อดี

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

ข้อเสีย

  • ต้องใช้เวลามากขึ้นในการวางแผนและเตรียมทั้งสคริปต์ทดสอบและข้อมูลการทดสอบ

4) กรอบการทดสอบที่ขับเคลื่อนด้วยคำหลักหรือที่ขับเคลื่อนด้วยตาราง

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

มีส่วนประกอบพื้นฐาน 3 ส่วนของ Keyword Driven Framework ได้แก่ คำหลัก แผนผังแอปพลิเคชัน และฟังก์ชันส่วนประกอบ

คำสำคัญคือการดำเนินการที่สามารถดำเนินการกับส่วนประกอบ GUI เช่น สำหรับ Textbox ส่วนประกอบ GUI คำสำคัญบางคำ (การดำเนินการ) ได้แก่ InputText, VerifyValue, VerifyProperty และอื่นๆ

แผนที่แอปพลิเคชันคืออะไร?

แผนผังแอปพลิเคชันให้การอ้างอิงที่มีชื่อสำหรับส่วนประกอบ GUI Application Maps ไม่มีอะไรนอกจาก “ที่เก็บอ็อบเจ็กต์"

ฟังก์ชั่นส่วนประกอบคืออะไร?

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

ตัวอย่าง: เพื่อทำความเข้าใจมุมมองคำหลัก ให้ใช้ตัวอย่างเดียวกันนี้ ประกอบด้วย 2 ขั้นตอน

ขั้นตอนที่ 1: การสร้างตารางข้อมูล (แตกต่างจากตารางข้อมูลทดสอบที่สร้างใน Data Driven Framework) ตารางข้อมูลนี้มีการดำเนินการที่จะดำเนินการกับออบเจ็กต์ GUI และอาร์กิวเมนต์ที่เกี่ยวข้อง หากมี แต่ละแถวแสดงถึงหนึ่งขั้นตอนการทดสอบ

วัตถุ การกระทำ
(แผนที่การสมัคร) (คำสำคัญ) ข้อโต้แย้ง
WinEdit(ชื่อตัวแทน) ชุด Guru99
WinEdit (รหัสผ่าน) ชุด Mercury
WinButton(ตกลง) คลิก
หน้าต่าง(จองเที่ยวบิน) ตรวจสอบ ที่มีอยู่

ขั้นตอนที่ 2: การเขียน Code ในรูปแบบของฟังก์ชันส่วนประกอบ

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

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
  while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
  {
    Pass values to appropriate COMPONENT functions. Like Set(Object Name, Argument) ex. Set(Agent Name, Guru99).
  }
}
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

ทั้งหมดนี้เป็นของ Keyword Driven Framework

ข้อดีของ Keyword Driven Framework คือสามารถนำคีย์เวิร์ดกลับมาใช้ใหม่ได้ หากต้องการทำความเข้าใจเรื่องนี้ ให้ลองพิจารณาตรวจสอบการทำงานของการเข้าสู่ระบบสำหรับเว็บไซต์ เช่น YAHOO MAIL ตารางจะมีลักษณะดังนี้

วัตถุ การกระทำ
(แผนที่การสมัคร) (คำสำคัญ) ข้อโต้แย้ง
แก้ไขเว็บ(ชื่อผู้ใช้) ชุด abc@yahoo.com
แก้ไขเว็บ(รหัสผ่าน) ชุด xxxxx
เว็บปุ่ม(ตกลง) คลิก
หน้าต่าง(Yahoo Mail) ตรวจสอบ โหลด

หากคุณสังเกตในกรณีนี้ คำหลัก Set, Click, Verify ยังคงเหมือนเดิม ซึ่งฟังก์ชันส่วนประกอบที่เกี่ยวข้องได้รับการพัฒนาไว้แล้ว สิ่งที่คุณต้องทำคือเปลี่ยน Application Mapping (คลังเก็บวัตถุ) จากการจองเที่ยวบินครั้งก่อนไปยัง Yahoo Mail ด้วยการเปลี่ยนแปลงค่าอาร์กิวเมนต์และสคริปต์เดียวกันจะทำงานได้!

ข้อดี

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

ข้อเสีย

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

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

5) กรอบงานการทดสอบอัตโนมัติแบบไฮบริด

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

PS: กรอบการทำงานอัตโนมัติอื่น ๆ ที่ควรค่าแก่การกล่าวถึงคือ

ทดสอบกรอบการทำงานแบบโมดูลาร์

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

ตัวอย่าง: การใช้แอ็กชันใน QTP การใช้งานสามารถสร้างสคริปต์แบบโมดูลาร์ได้

สคริปต์ตัวอย่างสำหรับการเข้าสู่ระบบ

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

ตอนนี้คุณสามารถเรียกการกระทำนี้ในสคริปต์หลักได้ดังนี้ -

RunAction ("Login[Argument]", oneIteration)

การทดสอบกระบวนการทางธุรกิจ (BPT)

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

วิธีการเลือกเฟรมเวิร์กการทดสอบอัตโนมัติที่เหมาะสม

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

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

พิจารณาคำถามเหล่านี้ก่อนตัดสินใจ:

  1. ห้องสวีทนี้จะใช้งานได้นานแค่ไหน? การบำรุงรักษาเป็นเวลาหลายปีทำให้การลงทุนเริ่มต้นที่สูงในการออกแบบที่ขับเคลื่อนด้วยคีย์เวิร์ดหรือแบบผสมผสานนั้นคุ้มค่า แต่โครงการระยะสั้นไม่คุ้มค่า
  2. ใครเป็นผู้เขียนข้อสอบ? หากผู้ทดสอบด้วยตนเองส่งกรณีศึกษาเข้ามา ตารางคำสำคัญจะช่วยให้พวกเขาสามารถทำงานได้โดยไม่ต้องเรียนรู้ภาษาสคริปต์
  3. อินเทอร์เฟซนี้มีความผันผวนมากน้อยแค่ไหน? การเปลี่ยนหน้าจอบ่อยครั้งทำให้จำเป็นต้องมีที่เก็บอ็อบเจ็กต์แยกต่างหาก มิเช่นนั้นสคริปต์ทุกตัวจะต้องได้รับการแก้ไข
  4. จำเป็นต้องมีข้อมูลที่มีความผันแปรมากน้อยแค่ไหน? การผสมผสานข้อมูลหลายรูปแบบชี้ให้เห็นโดยตรงถึงการออกแบบที่ขับเคลื่อนด้วยข้อมูล
  5. เครื่องมือใดที่กำลังใช้งานอยู่แล้ว? กรอบต้องเหมาะสมกับสิ่งที่เลือก เครื่องมืออัตโนมัติ และภาษาที่ทีมรู้จัก เช่น Selenium สีสดสวย Java or Cucumber.

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

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

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

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

คำถามที่พบบ่อย

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

ไม่ Page Object Model (Page Object Model) เป็นรูปแบบการออกแบบสำหรับเลเยอร์คลังเก็บอ็อบเจ็กต์ โดยทั่วไปจะใช้ภายในเฟรมเวิร์กแบบไลบรารี เฟรมเวิร์กที่ขับเคลื่อนด้วยข้อมูล และเฟรมเวิร์กแบบไฮบริด มากกว่าที่จะมาแทนที่เฟรมเวิร์กใดๆ เหล่านั้น

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

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

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

สรุปโพสต์นี้ด้วย: