การทดสอบ GUI – กรณีทดสอบ UI (ตัวอย่าง)
เพื่อทำความเข้าใจการทดสอบ GUI ก่อนอื่นให้ทำความเข้าใจ -
GUI คืออะไร?
อินเทอร์เฟซสำหรับแอปพลิเคชันคอมพิวเตอร์มีสองประเภท อินเทอร์เฟซบรรทัดคำสั่งเป็นที่ที่คุณพิมพ์ข้อความและคอมพิวเตอร์ตอบสนองต่อคำสั่งนั้น GUI ย่อมาจาก Graphical User Interface ที่คุณโต้ตอบกับคอมพิวเตอร์โดยใช้รูปภาพแทนข้อความ
ต่อไปนี้เป็นองค์ประกอบ GUI ที่สามารถใช้สำหรับการโต้ตอบระหว่างผู้ใช้และแอปพลิเคชัน:
การทดสอบ GUI คือการตรวจสอบความถูกต้องขององค์ประกอบข้างต้น
การทดสอบ GUI คืออะไร?
การทดสอบ GUI เป็นประเภทการทดสอบซอฟต์แวร์ที่ตรวจสอบส่วนติดต่อผู้ใช้แบบกราฟิกของซอฟต์แวร์ วัตถุประสงค์ของการทดสอบส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) คือเพื่อให้แน่ใจว่าฟังก์ชันการทำงานของแอปพลิเคชันซอฟต์แวร์ทำงานตามข้อกำหนดโดยการตรวจสอบหน้าจอและการควบคุม เช่น เมนู ปุ่ม ไอคอน ฯลฯ
GUI คือสิ่งที่ผู้ใช้เห็น สมมติว่าคุณเยี่ยมชม guru99.com สิ่งที่คุณจะเห็นคือหน้าแรก นั่นคือ GUI (ส่วนต่อประสานกราฟิกกับผู้ใช้) ของเว็บไซต์ ผู้ใช้ไม่เห็นซอร์สโค้ด อินเทอร์เฟซปรากฏแก่ผู้ใช้ โดยเฉพาะการเน้นไปที่โครงสร้างการออกแบบ รูปภาพ ว่าทำงานถูกต้องหรือไม่
ในตัวอย่างข้างต้น หากเราต้องทดสอบ GUI เราจะตรวจสอบก่อนว่ารูปภาพควรมองเห็นได้อย่างสมบูรณ์ในเบราว์เซอร์ที่แตกต่างกัน
นอกจากนี้ยังมีลิงก์อยู่ด้วย และปุ่มควรใช้งานได้เมื่อคลิก
นอกจากนี้ หากผู้ใช้ปรับขนาดหน้าจอ รูปภาพหรือเนื้อหาก็ไม่ควรย่อ ครอบตัด หรือทับซ้อนกัน
ความจำเป็นในการทดสอบ GUI
ตอนนี้แนวคิดพื้นฐานของการทดสอบ GUI ก็ชัดเจนแล้ว คำถามสองสามข้อที่จะเกิดขึ้นในใจของคุณคือ
- ทำไมต้องทดสอบ GUI?
- จำเป็นจริงหรือ?
- การทดสอบ Functional และ Logic ของ Application ยังไม่เพียงพอหรือ? แล้วจะเสียเวลาทดสอบ UI ไปทำไม
เพื่อให้ได้คำตอบให้คิดในฐานะผู้ใช้ไม่ใช่ผู้ทดสอบ ผู้ใช้ไม่มีความรู้เกี่ยวกับซอฟต์แวร์/แอปพลิเคชัน XYZ เป็น UI ของแอปพลิเคชันที่ตัดสินใจว่าผู้ใช้จะใช้แอปพลิเคชันต่อไปหรือไม่
ผู้ใช้ทั่วไปจะสังเกตการออกแบบและรูปลักษณ์ของแอปพลิเคชัน/ซอฟต์แวร์ก่อน และสังเกตความง่ายในการทำความเข้าใจ UI หากผู้ใช้ไม่คุ้นเคยกับอินเทอร์เฟซหรือพบว่าแอปพลิเคชันมีความซับซ้อนในการทำความเข้าใจ เขาจะไม่ใช้แอปพลิเคชันนั้นอีกเลย ดังนั้น GUI จึงเป็นเรื่องที่ต้องกังวล และควรทำการทดสอบอย่างเหมาะสมเพื่อให้แน่ใจว่า GUI ไม่มีข้อบกพร่อง
คุณเช็คอินการทดสอบ GUI อะไรบ้าง?
รายการตรวจสอบต่อไปนี้จะช่วยให้มั่นใจว่ามีการทดสอบ GUI โดยละเอียดในการทดสอบซอฟต์แวร์
- ตรวจสอบองค์ประกอบ GUI ทั้งหมดสำหรับขนาด ตำแหน่ง ความกว้าง ความยาว และการยอมรับอักขระหรือตัวเลข ตัวอย่างเช่น คุณต้องสามารถใส่ข้อมูลลงในฟิลด์ข้อมูลได้
- ตรวจสอบว่าคุณสามารถดำเนินการฟังก์ชันการทำงานที่ต้องการของแอปพลิเคชันได้โดยใช้ GUI
- ตรวจสอบข้อความแสดงข้อผิดพลาดว่าแสดงอย่างถูกต้องหรือไม่
- ตรวจสอบการแบ่งเขตที่ชัดเจนของส่วนต่างๆ บนหน้าจอ
- ตรวจสอบฟอนต์ที่ใช้ในแอพพลิเคชั่นว่าสามารถอ่านได้หรือไม่
- ตรวจสอบการจัดวางข้อความให้เหมาะสม
- ตรวจสอบสีของแบบอักษรและข้อความเตือนก็ดูสวยงาม
- ตรวจสอบว่าภาพมีความชัดเจนดี
- ตรวจสอบว่ารูปภาพอยู่ในแนวที่ถูกต้อง
- ตรวจสอบตำแหน่งขององค์ประกอบ GUI สำหรับความละเอียดหน้าจอที่แตกต่างกัน
เทคนิคการทดสอบ GUI
เทคนิคการทดสอบ GUI สามารถแบ่งได้เป็นสามส่วน:
การทดสอบแบบแมนนวล
ภายใต้แนวทางนี้ ผู้ทดสอบจะตรวจสอบหน้าจอกราฟิกด้วยตนเองตามข้อกำหนดที่ระบุไว้ในเอกสารข้อกำหนดทางธุรกิจ
บันทึกและเล่นซ้ำ
การทดสอบ GUI สามารถทำได้โดยใช้เครื่องมืออัตโนมัติ นี้จะกระทำใน 2 ส่วน ในระหว่างการบันทึก ขั้นตอนการทดสอบจะถูกบันทึกโดยเครื่องมืออัตโนมัติ ในระหว่างการเล่น ขั้นตอนการทดสอบที่บันทึกไว้จะดำเนินการในแอปพลิเคชันที่อยู่ระหว่างการทดสอบ ตัวอย่างของเครื่องมือดังกล่าว – QTP
การทดสอบตามแบบจำลอง
แบบจำลองคือคำอธิบายเชิงกราฟิกของพฤติกรรมของระบบ ช่วยให้เราเข้าใจและคาดการณ์พฤติกรรมของระบบได้ แบบจำลองช่วยในการสร้างกรณีทดสอบที่มีประสิทธิภาพโดยใช้ข้อกำหนดของระบบ จำเป็นต้องพิจารณาสิ่งต่อไปนี้สำหรับการทดสอบตามแบบจำลอง:
- สร้างโมเดล
- กำหนดอินพุตสำหรับโมเดล
- คำนวณผลลัพธ์ที่คาดหวังสำหรับโมเดล
- ดำเนินการทดสอบ
- เปรียบเทียบผลลัพธ์จริงกับผลลัพธ์ที่คาดหวัง
- การตัดสินใจดำเนินการต่อไปกับแบบจำลอง
เทคนิคการสร้างแบบจำลองบางอย่างที่สามารถรับกรณีทดสอบได้:
- แผนภูมิ – แสดงสถานะของระบบและตรวจสอบสถานะหลังจากป้อนข้อมูลบางอย่าง
- ตารางการตัดสินใจ – ตารางที่ใช้ในการกำหนดผลลัพธ์สำหรับแต่ละอินพุตที่ใช้
การทดสอบตามแบบจำลองเป็นเทคนิคที่พัฒนาขึ้นสำหรับการสร้างกรณีทดสอบจากข้อกำหนด- ข้อได้เปรียบหลักเมื่อเปรียบเทียบกับสองวิธีข้างต้น ก็คือสามารถระบุสถานะที่ไม่พึงประสงค์ที่ GUI ของคุณสามารถบรรลุได้
ต่อไปนี้เป็นเครื่องมือโอเพ่นซอร์สที่มีให้ใช้สำหรับดำเนินการทดสอบ UI อัตโนมัติ
สินค้า | ภายใต้ใบอนุญาต |
---|---|
AutoHotkey | จีพี |
Selenium | อาปาเช่ |
ซิคูลี | เอ็มไอที |
กรอบงานหุ่นยนต์ | อาปาเช่ |
น้ำ | BSD |
ชุดเครื่องมือ Dojo | BSD |
ตัวอย่างกรณีทดสอบการทดสอบ GUI
การทดสอบ GUI โดยทั่วไปเกี่ยวข้องกับ
- การทดสอบขนาด ตำแหน่ง ความกว้าง ความสูงขององค์ประกอบ
- ทดสอบข้อความแสดงข้อผิดพลาดที่กำลังแสดงขึ้นมา
- ทดสอบส่วนต่างๆ ของหน้าจอ
- การทดสอบแบบอักษรว่าสามารถอ่านได้หรือไม่
- การทดสอบหน้าจอในความละเอียดต่าง ๆ ด้วยการซูมเข้าและออก เช่น 640 x 480, 600×800 เป็นต้น
- การทดสอบการจัดวางข้อความและองค์ประกอบอื่นๆ เช่น ไอคอน ปุ่ม ฯลฯ อยู่ในตำแหน่งที่เหมาะสมหรือไม่
- ทดสอบสีของฟอนต์
- ทดสอบสีของข้อความแสดงข้อผิดพลาด ข้อความเตือน
- ทดสอบว่าภาพมีความคมชัดดีหรือไม่
- ทดสอบการจัดตำแหน่งของภาพ
- การทดสอบการสะกดคำ
- ผู้ใช้จะต้องไม่หงุดหงิดในขณะที่ใช้อินเทอร์เฟซระบบ
- การทดสอบว่าอินเทอร์เฟซนั้นน่าดึงดูดหรือไม่
- การทดสอบแถบเลื่อนตามขนาดของหน้า ถ้ามี
- การทดสอบสนามที่ถูกปิดใช้งาน ถ้ามี
- การทดสอบขนาดของภาพ
- การทดสอบหัวข้อว่าจัดตำแหน่งอย่างถูกต้องหรือไม่
- การทดสอบสีของไฮเปอร์ลิงก์
การสาธิต: วิธีการทดสอบ GUI
เราจะใช้กรณีทดสอบตัวอย่างบางส่วนสำหรับหน้าจอต่อไปนี้
ด้านล่างนี้เป็นตัวอย่างกรณีทดสอบ ซึ่งประกอบด้วยสถานการณ์การทดสอบ UI และการใช้งาน
กรณีทดสอบ 01- ตรวจสอบว่ากล่องข้อความที่มีป้ายกำกับ “โฟลเดอร์ต้นทาง” สอดคล้องกันอย่างเหมาะสม
กรณีทดสอบ 02 – ตรวจสอบว่ากล่องข้อความที่มีป้ายกำกับ “แพ็คเกจ” สอดคล้องกันอย่างเหมาะสม
กรณีทดสอบ 03 – ตรวจสอบป้ายกำกับนั้นด้วยชื่อ “หมวดหมู่สินค้า” คือปุ่มที่อยู่ท้ายข้อความBox ด้วยชื่อ “โฟลเดอร์ต้นทาง".
กรณีทดสอบ 04 – ตรวจสอบป้ายกำกับนั้นด้วยชื่อ “หมวดหมู่สินค้า” คือปุ่มที่อยู่ท้ายข้อความBox ด้วยชื่อ “แพ็คเกจ".
กรณีทดสอบ 05 – ตรวจสอบว่ากล่องข้อความที่มีป้ายกำกับ “Name” สอดคล้องกันอย่างเหมาะสม
กรณีทดสอบ 06 – ตรวจสอบว่าฉลาก “ตัวปรับเปลี่ยน” ประกอบด้วยปุ่มตัวเลือก 4 ปุ่มพร้อมชื่อสาธารณะ, ค่าเริ่มต้น, ส่วนตัว, ป้องกัน
กรณีทดสอบ 07 – ตรวจสอบว่าฉลาก “ตัวปรับเปลี่ยน” ประกอบด้วยปุ่มตัวเลือก 4 ปุ่มซึ่งเรียงกันอย่างเหมาะสม
กรณีทดสอบ 08 – ตรวจสอบว่าฉลาก “ซุปเปอร์คลาส” ใต้ป้าย “ตัวปรับเปลี่ยน” ประกอบด้วยเมนูแบบเลื่อนลงซึ่งจะต้องจัดวางอย่างเหมาะสม
กรณีทดสอบ 09 – ตรวจสอบว่าฉลาก “ซุปเปอร์คลาส” ประกอบด้วยปุ่มที่มีป้ายกำกับ “หมวดหมู่สินค้า” ซึ่งจะต้องจัดวางให้เหมาะสม
กรณีทดสอบ 10 – ตรวจสอบว่าการคลิกปุ่มตัวเลือกใดๆ จะต้องเปลี่ยนตัวชี้เมาส์เริ่มต้นเป็นตัวชี้เมาส์มือ
กรณีทดสอบ 11 – ตรวจสอบว่าผู้ใช้ต้องไม่สามารถพิมพ์เมนูแบบเลื่อนลงของ “ซุปเปอร์คลาส".
กรณีทดสอบ 12 – ตรวจสอบว่าจะต้องมีการสร้างข้อผิดพลาดที่เหมาะสม หากมีการเลือกบางสิ่งผิดพลาด
กรณีทดสอบ 13 – ตรวจสอบว่าต้องสร้างข้อผิดพลาดเป็นสีแดงทุกที่ที่จำเป็น
กรณีทดสอบ 14 – ตรวจสอบว่าต้องใช้ป้ายกำกับที่ถูกต้องในข้อความแสดงข้อผิดพลาด
กรณีทดสอบ 15 – ตรวจสอบว่าต้องเลือกปุ่มตัวเลือกเดียวตามค่าเริ่มต้นทุกครั้ง
กรณีทดสอบ 16 – ตรวจสอบว่าปุ่ม TAB ต้องทำงานอย่างถูกต้องขณะข้ามไปบนฟิลด์อื่นถัดจากก่อนหน้า
กรณีทดสอบ 17 – ตรวจสอบว่าทุกหน้าต้องมีชื่อที่ถูกต้อง
กรณีทดสอบ 18 – ตรวจสอบว่าข้อความของหน้าต้องอยู่ในแนวที่ถูกต้อง
กรณีทดสอบ 19 – ตรวจสอบว่าหลังจากการอัปเดตฟิลด์ใดๆ จะต้องแสดงข้อความยืนยันที่ถูกต้อง
กรณีทดสอบ 20 – ตรวจสอบว่าต้องเลือกปุ่มตัวเลือกเพียงปุ่มเดียวและสามารถเลือกช่องกาเครื่องหมายได้มากกว่าหนึ่งช่อง
ความท้าทายในการทดสอบ GUI
ในด้านวิศวกรรมซอฟต์แวร์ปัญหาที่พบบ่อยที่สุดในขณะทำ การทดสอบการถดถอย คือ GUI ของแอปพลิเคชันมีการเปลี่ยนแปลงบ่อยครั้ง เป็นการยากมากที่จะทดสอบและระบุว่าเป็นปัญหาหรือการปรับปรุง ปัญหาจะปรากฏขึ้นเมื่อคุณไม่มีเอกสารใดๆ เกี่ยวกับการเปลี่ยนแปลง GUI
เครื่องมือทดสอบ GUI
ต่อไปนี้เป็นรายการยอดนิยม เครื่องมือทดสอบ GUI :
- Selenium
- คิวทีพี
- Cucumber
- ซิลค์เทสต์
- สอบเสร็จ
- เครื่องทดสอบ GUI ของ Squish
คลิกที่นี่เพื่อเรียนรู้ Selenium, คิวทีพี & Cucumber.
สรุป
ความสำเร็จของผลิตภัณฑ์ซอฟต์แวร์นั้นขึ้นอยู่กับวิธีที่ GUI โต้ตอบกับผู้ใช้และความสะดวกในการใช้คุณสมบัติต่างๆ ดังนั้นการทดสอบ GUI จึงมีความสำคัญมาก การทดสอบ GUI ด้วยตนเองบางครั้งอาจซ้ำซากและน่าเบื่อ และอาจเกิดข้อผิดพลาดได้ง่าย แนะนำให้ใช้ระบบอัตโนมัติสำหรับการทดสอบ GUI