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


12

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

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


นอกเหนือจากฟีเจอร์ของ UI ทุกอย่างแล้ว

คำตอบ:


11

สมมุติว่าคุณมีสถาปัตยกรรมบางอย่างที่เชื่อมโยงปุ่มและวิดเจ็ตอื่น ๆ กับการกระทำ - คลิกที่บันทึกและควรเรียกใช้ฟังก์ชันบันทึก ฯลฯ

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

กล่าวอีกนัยหนึ่งพวกเขาตรวจสอบว่า UI สะท้อนสถานะของโมเดลอย่างถูกต้องและเชื่อมต่อกับคอนโทรลเลอร์อย่างถูกต้อง

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


3

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

คุณสมบัติ UI ทั้งหมด

คุณควรทดสอบ:

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

0

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

ในทางตรงกันข้ามถ้าคุณมีคุณสมบัติเช่นนั้นใช่ฉันจะบอกว่าคุณมีปัญหาสถาปัตยกรรมพื้นฐาน :-)


1
ฉันคิดว่า "เพียง" พวกเขาอ้างถึงการทดสอบ UI อัตโนมัติกับการทดสอบหน่วยหรือการรวม ฉันไม่คิดว่าเป็นไปได้ที่จะสร้างบางสิ่งที่ซีลีเนียมสามารถทดสอบได้ว่ามนุษย์ไม่สามารถทำได้ (modulo ความเร็วของมนุษย์กับความเร็วของซีลีเนียม)
Bryan Oakley

ขออภัยฉันสามารถดูว่าคุณจะได้รับจากคำถาม แม้ว่าคุณได้ท้าทายผมในการพัฒนาแอพลิเคชันที่สามารถนำมาใช้โดยซีลีเนียม - การเพียงเพื่อติดให้กับทีมงานของเรา :) UX
mragh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.