คู่มือ VS. อัตโนมัติ: วิธีใดที่ถูกต้องในการทดสอบแอปของคุณ

เผยแพร่แล้ว: 2022-02-24
การทดสอบ

เมื่อคุณเปิดตัวแอป คุณต้องแน่ใจ 100% ว่าแอปจะทำงานได้อย่างราบรื่นและไม่มีที่ติ และแน่นอนว่าควรตอบสนองความคาดหวังของผู้ใช้ของคุณด้วย! มิฉะนั้น โครงการของคุณอาจล้มเหลว ซึ่งไม่ใช่ผลลัพธ์ที่ต้องการใช่ไหม ดังนั้น คุณจึงต้องใส่ใจกับการทดสอบการประกันคุณภาพแอป (QA)

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

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

การทดสอบแอพมือถือทั้งสองประเภทมีข้อดีและข้อเสียที่แตกต่างกัน แต่สิ่งสำคัญโดยเฉพาะสำหรับบริษัทพัฒนาแอพมือถือในการฝึกการทดสอบด้วยตนเองเพื่อมอบประสบการณ์การใช้งานที่ยอดเยี่ยม

บริการจัดอันดับแอป ASO World
คลิก "เรียนรู้เพิ่มเติม" เพื่อขับเคลื่อนธุรกิจแอปและเกมของคุณด้วยบริการโปรโมตแอป ASO World ทันที

พื้นฐานการทดสอบแอพมือถือ

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

เทอมที่สองนี้มักเรียกกันว่า "การทดสอบระบบอัตโนมัติ" หรือบางทีอาจเรียกว่า "การทดสอบอัตโนมัติ" มันอาจจะถูกต้องกว่าถ้าเรียกมันว่า "การดำเนินการทดสอบและประเมินผลอัตโนมัติ" หรือ "การตรวจสอบอัตโนมัติ" แต่ข้อกำหนดก่อนหน้านี้ถูกระงับ

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

การทดสอบอัตโนมัติและด้วยตนเองคืออะไร

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

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

การทดสอบด้วยตนเอง

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

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

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

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

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

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

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

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

ความท้าทายของการทดสอบบนอุปกรณ์เคลื่อนที่มีแนวโน้มน้อยกว่าที่จะยอมรับกระบวนทัศน์แบบใดจากสองกระบวนทัศน์ แต่จะมากน้อยเพียงใด เมื่อใด และใคร

เหตุใดฉันจึงต้องการทดสอบด้วยตนเอง

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

ฉันต้องใช้อุปกรณ์กี่เครื่องในการทดสอบ

คุณสามารถลองทดสอบอุปกรณ์ทุกเครื่องที่รองรับกับทุกเวอร์ชันของระบบปฏิบัติการที่รองรับด้วยตนเอง ครั้งล่าสุดที่เราตรวจสอบเมื่อสามปีที่แล้วมีอุปกรณ์ Android มากกว่า 24,000 เครื่องและเราหยุดนับ ตามความเป็นจริง องค์กรส่วนใหญ่ทดสอบด้วยเวอร์ชันล่าสุดที่ได้รับการสนับสนุน เวอร์ชันล่าสุดที่ได้รับการสนับสนุน และเวอร์ชันที่เก่าที่สุดที่รองรับ ระหว่าง Android และ iOS แท็บเล็ตและโทรศัพท์ บริษัทขนาดกลางและขนาดใหญ่ส่วนใหญ่ที่เราทำงานด้วยได้ลงเอยด้วยห้องปฏิบัติการทดสอบที่มีอุปกรณ์ 10-20 เครื่อง

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

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

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

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

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

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

การทดสอบอัตโนมัติจะคลิกปุ่มที่ "ดูผิด" และอยู่ผิดที่และจะไม่บันทึกปัญหา (เว้นแต่คุณจะคิดที่จะตรวจสอบล่วงหน้า) มักจะพบข้อผิดพลาด ผลการค้นหาที่ไม่ถูกต้อง และอื่นๆ

เหตุใดฉันจึงต้องมีการทดสอบอัตโนมัติ

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

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

ตั้งค่าและรันสถานการณ์การทดสอบที่ซับซ้อนและน่าเบื่อได้อย่างง่ายดาย

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

ฉันต้องใช้กรณีทดสอบกี่กรณีสำหรับชุดการทดสอบพื้นฐาน

สิ่งนี้จะแตกต่างกันอย่างมากในแอปพลิเคชันและ "กรณีทดสอบ" นั้นใหญ่เพียงใด หากกรณีทดสอบเป็นการทดสอบ dom-to-database อย่างง่ายที่ตรวจสอบการดำเนินการเชิงตรรกะหนึ่งครั้ง ฟังก์ชันทั่วไปอาจมีการทดสอบสี่ถึงสิบครั้ง และแอปพลิเคชันทั่วไปอาจมีคุณลักษณะสี่ถึงสิบรายการ

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

การทดสอบด้วยตนเองสำหรับแอพมือถือ

ประโยชน์ของการทดสอบด้วยตนเอง

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

ข้อเสียของการทดสอบด้วยตนเอง

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

การทดสอบด้วยตนเองในแอพมือถือใช้สำหรับ:

  • การทดสอบเชิงสำรวจ: ในฐานะที่เป็นแนวทาง การทดสอบเชิงสำรวจให้ค่าผู้ทดสอบว่าเป็นส่วนสำคัญของกระบวนการทดสอบ สิ่งนี้ต้องการผู้ทดสอบด้วยตนเองเพื่อรับประโยชน์จากความเข้าใจ ความคิดสร้างสรรค์ และความรู้
  • การทดสอบเฉพาะกิจ: ตามคำจำกัดความ ad-hoc เป็นประเภทการทดสอบที่ไม่เป็นทางการ มีจุดมุ่งหมายเพื่อทำลายระบบ ดังนั้นจึงไม่สามารถดำเนินการในลักษณะที่วางแผนไว้ได้ จำเป็นต้องมีผู้ทดสอบเพื่อทำงานผิดปกติเพื่อพยายามทำลายระบบ
  • การทดสอบการใช้งาน: ผู้ทดสอบแบบใช้มือจะสัมผัสได้ถึงประสบการณ์การใช้งานขั้นสุดท้าย การใช้แอพเหมือนที่ออกแบบมาเพื่อใช้งานจะช่วยกำหนดว่าแอพนั้นใช้งานง่ายเพียงใดและการป้อนข้อมูลของมนุษย์เป็นกุญแจสำคัญในสิ่งนี้

การทดสอบอัตโนมัติสำหรับแอพมือถือ

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

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

ข้อเสียของการทดสอบอัตโนมัติ

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

การทดสอบอัตโนมัติในแอพมือถือใช้สำหรับ:

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