You are on page 1of 36

SF332

การทดสอบและประกันคุณภาพซอฟต์แวร์
Software Testing and Quality Assurance

Week 9
Mobile Application Testing

Based on ISTQB® Mobile Application Testing


Foundation Level Version 2019

SF332 Software Testing and Quality Assurance 1


Agenda
Business Models for Mobile Apps

Mobile Application Test Types

Common Test Types and Test Process for


Mobile Applications

Automating the Test Execution

SF332 Software Testing and Quality Assurance 2


Principles of Performance Testing
Performance Efficiency ตาม ISO/IEC25010 จัดการทดสอบไว้เป็น 3 sub-characteristic คือ
• Time Behavior การประเมินต้าน time behavior เป็นวัตถุประสงค์หลักในการทดสอบ Performance เป็นการ
ตรวจสอบความสามารถของ component หรือ system นการตอบสนองการนาเข้าข้อมูลโดยผู้ใช้หรือโดยระบบอื่น
ภายในเวลาและเงื่อนไขที่กาหนดไว้ การวัดต้านนี้มีความหลากหลายตั้งแต่ เวลาที่ใช้แบบ "end-to-end" ซึ่งนับเวลาที่
ระบบใช้ในการตอบสนองต่อข้อมูลนาเข้าของผู้ช้ ไปจนถึง จานวนรอบของ CPU (CPU cycles) ที่จาเป็นต้องใช้ในการ
ประมวลผลงานที่กาหนด
• Resource Utilization หากความพร้อมของทรัพยากรระบบถูกระบุให้เป็นความเสี่ยง การจัดสรร/ใช้งานทรัพยากร
อาจจะต้องมีการตรวจสอบโดยการทา Performance Test เฉพาะ เช่น การจัดสรร RAM
• Capacity หากปัญหาเกี่ยวกับพฤติกรรมของระบบเมื่อถึงขีดจากัดของระบบถูกระบุให้เป็นความเสี่ยง อาจจะต้องทา
Performance test เพื่อประเมินความเหมาะสมของสถาปัตยกรรมระบบ เช่น จานวนของผู้ใช้ หรือ ปริมาณของข้อมูล

SF332 Software Testing and Quality Assurance 3


Device Types

Basic Phone : ใช้โทรออก รับสาย ส่ง SMS มีการติดตั้ง app ไว้บ้างติดตั้ง app เพิ่มไม่ได้

Feature Phone : สามารถติดตั้ง app ได้จากัด มีกล้อง และมี web built-

smart Phone : มี sensor หลายตัว สามารถติดตั้ง app เพิ่มได้ เล่น multi-media และมี browser

Tablet : มีขนาดใหญ่กว่า smart phone

Companion : เช่น อุปกรณ์ที่สวมใส่ได้ หรืออุปกรณ์ I,T บางอัน , ช่วยในการเข้าถึงข้อมูลได้ง่ายขึ้น

SF332 Software Testing and Quality Assurance 4


Business Models for Mobile Apps

Freemium : ดาวน์โหลดฟรี จ่ายเงินเพเพื่อซื้อฟังก็ชันเพิ่มเติม ต้องทาให้ app มีความน่าสนใจ

Advertising : มีโฆษณาในระหว่างการใช้ อาจจะมีกระทบหากต้องใช้งานนาน ๆ และต้องจัดวางโฆษณาไม่ให้


บดบังส่วนสาคัญ

Transaction : เก็บเงินตามการใช้งาน มักใช้ในธุรกิจที่เกี่ยวกับการเงิน

Fee based :ต้องจ่ายเงินเพื่อดาวน์โหลด ต้องเป็น app ที่มีความโดดเด่นและใช้งานได้ง่าย

Enterprise : ใช้งานฟรี ใช้เฉพาะภายในองค์กร

SF332 Software Testing and Quality Assurance 5


Challenges of Mobile Application Testing

ㆍ มี platform และอุปกรณ์ที่หลากหลาย ขนาดของอุปกรณ์ และ ㆍช่องทางการจัดจาหน่าย (Distribution channel) ของ Application มี


คุณภาพการแสดงผลที่แตกต่างกัน และยังมี OS หลายประเภทหลายรุ่น หลายช่องทาง
ㆍ ความแตกต่างของฮาร์ดแวร์ในแต่ละอุปกรณ์ เช่น sensor และความ ㆍ ความหลากของผู้ใช้งานหรือกลุ่มผู้ใช้งาน
ยากในการจาลอง CPU and RAM ความหลากหลายของ software ㆍ วิธีการเชื่อมต่อที่หลากหลาย
development tool ที่ต้องการ ㆍข้อบกพร่องที่ผู้ใช้พบ อาจจะถูกเผยแพร่บน Market Place ที่เป็น
โดย platform สถานที่ออนไลน์
ㆍ ความแตกต่างของการออกแบบ user interface ของแต่ละ platform ㆍ การเผยแพร่ผลิตภัณฑ์บน Market Place ซึ่งต้องรอการอนุมัติโดย
ㆍ ประเภทของ network เจ้าของตลาด เช่น Google Play หรือ Apple App Store
ㆍ ทรัพยากรที่ไม่เพียงพอ ㆍความไม่พร้อมใช้งานของอุปกรณ์ที่เพิ่งเปิดตัวใหม่ซึ่งต้องใช้ mobile
emulators/simulator

SF332 Software Testing and Quality Assurance 6


Risks in Mobile Application Testing
ความเสี่ยง วิธีการบรรเทาความเสี่ยง

การกระจายตัวของตลาด เลือกทดสอบอุปกรณ์ที่เป็นที่นิยม
(Market fragmentation) (https://gs.statcounter.com)
ค่าใช้จ่ายที่ต้องรองรับหลาย platform เลือก platform ที่นิยมใช้ และหลีกเลี่ยงการทดสอบรุ่นที่
ไม่
อยู่ในขอบเขต
ไม่มีอุปกรณ์สาหรับใช้ในการทดสอบ ใช้บริการ remote device access หรือ crowd testing

ปัญหาที่เกิดจากการใช้งานในรูปแบบที่กาหนด เลือกวิธีทดสอบที่เหมาะสม เช่น field test


ขณะเดินทาง

SF332 Software Testing and Quality Assurance 7


Agenda
Business Models for Mobile Apps
Native Application

Browser Based Mobile Application Test Types

Hybrid
Common Test Types and Test Process for
Mobile Applications

Automating the Test Execution

SF332 Software Testing and Quality Assurance 8


Native Application
ㆍพัฒนาโดยใช้ software development kits
(SDKs) ของ Platform เอง ต้องใช้ทักษะการพัฒนาเฉพาะ
ㆍ สามารถเข้าถึงฟังก์ชั่นการทางานของ Platform
นั้น ๆ ได้อย่างครบถ้วน
ㆍ ประสิทธิภาพการทางานสูงสุด UI เป็นมาตรฐาน
ㆍ ค่าใช้จ่ายในการพัฒนาสูง เพราะต้องพัฒนาแยกที
ละ platform
ㆍ download, install , update ต้องทาผ่าน store
ㆍ ไม่จาเป็นต้องใช้ Internet

SF332 Software Testing and Quality Assurance 9


Browser-based Application
สามารถทาได้ 4 แนวทาง
1. ทาเป็นเว็บหรือ application เฉพาะสาหรับมือถือ (เว็บที่ขึ้นต้น
ด้วย m.)
2. Responsive web app มีการปรับเปลี่ยนขนาดของเว็บให้
เหมาะสมกับการแสดงผลบนหน้าจอขนาดต่าง ๆ
3. Adaptive web app มีการสร้าง layout หลายแบบสาหรับ
หน้าจอขนาดต่าง ๆ
ㆍพัฒนาได้เร็วกว่า โดยใช้ทักษะในการพัฒนาเว็บ 4. Progressive web app มีการเขียน script บางอย่างฝังใน
รองรับหลาย platform อุปกรณ์ ลักษณะคล้าย Native และบางอย่างสามารถทางาน
ㆍPerformance ไม่ดีเท่า Native แบบ Offline ได้ เช่น Twitter
ㆍจากัดการเข้าถึง sensor หรืออุปกรณ์ในเครื่อง
ㆍจะต้องเชื่อมต่อ internet
ㆍ ไม่กินพื้นที่ในการติดตั้ง image source : https://www.business2community.com

SF332 Software Testing and Quality Assurance 10


Hybrid Application
ㆍเป็นการผสมผสมระหว่าง Native และ Browser-based
ㆍมีการใช้ wrapper ของ native app ซึ่งมี web view
สาหรับใช้รัน web application ภายใน native app ได้
ㆍ พัฒนาครั้งเดียวใช้ได้ทุก platform
ㆍช้ากว่า native application
ㆍ ไม่จาเป็นต้องเชื่อมต่อ internet
ㆍ Uเ อาจจะแตกต่างจาก native
ㆍ สามารถ download จาก store ได้
Image source : https://patsapol-pro.medium.com/

SF332 Software Testing and Quality Assurance 11


Test Strategy for Mobile Apps
ㆍใช้ emulators/simulators สอบในช่วงแรก ๆ ซองการพัฒนา แล้วค่อยใช้อุปกรณ์จริงในช่วงหลัง ซึ่งอาจมีการทดสอบบาง
ประเภทไม่สามารถทดสอบโดยใช้ emulators/simulators
ㆍ กรณีที่อุปกรณ์มีความหลากหลาย
o Single platform approach : ลดขอบเขตงาน เหลืออุปกรณ์ประเภทเดียว, OS รุ่นเดียว , ผู้ให้บริการเจ้าเดียว , เครือข่ายประเภทเดียว
o Mutt-platform approach : ลดขอบเขตงาน โดยเลือกอุปกรณ์หรือ OS ที่ลูกค้าที่เป็นกลุ่มเป้าหมายนิยมใช้
o Maximum coverage approach : ทดสอบทุกรุ่นของ OS, อุปกรณ์, ผู้ผลิต, ผู้ให้บริการและประเภทเครือข่าย
ㆍ กรณีที่มีความไม่พร้อมใช้ของ อุปกรณ์, เครือข่าย หรือเงื่อนไขอื่น ๆ สาหรับใช้งานจริง
o Remote device access services : access อุปกรณ์ผ่านเว็บ
o Crowd testing services : ทดสอบโดยใช้เครื่องของอาสาสมัคร
o Personal networks : เพื่อนฝูงหรือเพื่อนร่วมงาน
o Bug hunting : จัดเป็นเกมส์การทสอบโดยอาสาสมัครโดยคนในองค์กรหรือสาธารณะ

SF332 Software Testing and Quality Assurance 12


Mobile Application Test Types

COMPATIBILITY WITH INTERACTION WITH DEVICE CONNECTIVITY METHOD


HARDWARE SOFTWARE

SF332 Software Testing and Quality Assurance 13


Test types : Compatibility with device H/W
ㆍDevice Feature • Input Methods เช่น การแสตง layout ของ keyboard ตรงตาม
o Switch off , navigate , hard and soft keyboards ชนิดของ field , การสัมผัสด้วยนิ้ว , การใช้ท่าทาง, กล้องสแกน QR
o Radio , USB, Bluetooth, Cameras, Speakers Code ได้ , การเรียกใช้กล้องหน้า/หลัง
o Microphone, headphone • Interrupts ทางานได้ถูกต้องเมื่อมีการขัดจังหวะต่าง ๆ เช่น
• Different Displays : Screen size, View port size , aspect voice calls, messages, charger switched on, low memory
ratio , Resolution , notification โดยเฉพาะกรณีที่เปลี่ยนจาก Mode "do-not-
• Temperature พยายามทาให้เครื่องมีอุณหภูมิสูง เช่น ชาร์จแบต, disturb" จากปิดเป็นเปิด อาจจะมี notification หลายครั้ง
ใช้งานต่อเนื่อง, ใช้งาน cellular/Wi-Fi หรือ GPS อย่างต่อเนื่อง • Access Permissions to Device Features ทางานได้ถูกต้อง
• Device Input sensor อุปกรณ์ที่ตอบสนองต่อ แรงตัน อุณหภูมิ ตามสิทธิ์ที่ผู้ใช้กาหนดและขอใช้สิทธิ์เฉพาะที่เกี่ยวข้อง เช่น การขอ

ความชื้น แสง หรือ อื่น ๆ เช่น GPS , Gyroscope ,Accelerometer สิทธิ์การเข้าถึง contact, picture, sensor

• Screen Orientation Change มีการรักษาสถานะของ app ไว้ • Power Consumption and State ตรวจสอบการใช้พลังงานใน

ถูกต้อง , input ที่บันทึกไว้ไม่หายหรือไม่ถูกเปลีย่ นแปลง ระหว่างการใช้งาน โดยอาจใช้เครื่องมือมาวิเคราะห์และความ


ถูกต้องของข้อมูลเมือ่ ใช้งาน app ในช่วงที่แบตเหลือน้อยหรือแบตหมด
SF332 Software Testing and Quality Assurance 14
Test types : Interaction with Device S/W
• Notifications ㆍ Types of Application
o การจัดการ notification ทั้งกรณีที่ app ทางานเป็น ㆍ Native App
ㆍ Device compatibility
background/foreground
ㆍ การใช้งาน feature ต่าง ๆ ของอุปกรณ์
o การตอบโต้ notification โดยไม่ต้องเปิด app
ㆍ Hybrid App
o กรณีต้องเปิด app ต้องแสดงหน้าจอที่เกี่ยวข้อง
ㆍ การตอบโต้ระหว่าง app กับ feature ของอุปกรณ์
• Quick-access Links กรณีที่ app มีเมนูที่ short cut ㆍ Performance
จะต้องสามารถทางานได้ถูกต้องตามเมนูที่เรียกใช้ ㆍ Usability เนื่องจากอาจมีรูปแบบต่างจาก native
• User Preferences Provided by the Operating ㆍ Web based
System เช่น การปรับแสง , เสียง network , power
ㆍ Browser compatibility
save mode , time zone , ภาษา โดย app จะต้อง ㆍ Functional
สามารถทางาน/แสดงผลถูกต้องตามที่กาหนดได้ ㆍ Usability
Utilization of OS feature เช่น date picker , Keyboard
SF332 Software Testing and Quality Assurance 15
Test types : Interaction with Device S/W
ㆍInteroperability with Multiple Platforms ㆍ Interoperability and Co-existence with
and Operating System Version other Apps on the Device
การจัดการ interrupt ต่าง ๆ , notification, การถ่ายโอนข้อมูลระหว่าง app ที่ทดสอบกับ
power saving app อื่นถูกต้องครบถ้วน
Functional (เนื่องจากอาจจะมีการใช้โค้ดร่วมกัน ไม่ทาอันตรายกับข้อมูลที่จัดเก็บด้วย app อื่น
ระหว่าง framework ที่ใช้ในการพัฒนา) ทดสอบกรณีพฤติกรรมชัดแย้งกัน เช่น app ที่
backward compatibility ทดสอบปิด GPS เพื่อประหยัดพลังงาน ในขณะที่
ทดสอบ app ว่ายังทางานถูกต้อง เมื่อ OS มีการ อีก app บนอุปกรณ์เดียวกัน เปิด GPS อัตโนมัติ
ปรับปรุงหรือเพิ่ม feature ใหม่

SF332 Software Testing and Quality Assurance 16


Test types : Various connectivity methods
ทดสอบการเชื่อมตอดวยวิธีตาง ๆ เชน 2G, 3G, 4G, 5G , Wi-Fi , NFC, Bluetooth

• ทางเลือกในการทดสอบ Connectivity • Test condition


Emulators/simulators รองรับเฉพาะบางอย่าง การทางานถูกต้องเมื่อเชื่อมต่อด้วยวิธีที่แตกต่างกัน
ตั้งเครือข่ายเองเพื่อรองรับการเชื่อมต่อประเภท เมื่อเปลี่ยนวิธีการเชื่อมต่อ app ยังทางานได้
และ bandwidth ที่แตกต่างกัน วิธีนี้ต้นทุนสูง ถูกต้องและข้อมูลไม่สูญหาย เช่น กรณีใช้งาน
Field Testing มีความคุ้มค่า แต่ Reproduce ไม่ได้ app ขณะอยู่ในบ้าน จนเดินออกไปนอกบ้าน
กรณีที่ทางานไม่ได้หรือมีข้อจากัดจากการเชื่อมต่อ
หรือเชื่อมต่อไม่ได้ จะต้องแสดงข้อความให้ผู้ใช้
ทราบอย่างชัดเจน

SF332 Software Testing and Quality Assurance 17


Agenda
Business Models for Mobile Apps

Mobile Application Test Types

Common Test Types and Test Process for


Mobile Applications

Automating the Test Execution

SF332 Software Testing and Quality Assurance 18


Common Test Types Applicable for
Mobile Application

Installability Stress Security Performance

Globalization&
Usability Database Accessibility
Localization

SF332 Software Testing and Quality Assurance 19


Installability Testing
Test condition
ㆍ ติดตั้ง (Installation), ถอนการติดตั้ง (de installation) , upgrade บน
internal /external memory
ㆍ Re-installation เมื่อมีการเลือก/ไม่เลือก"retain app data" จากการ
deinstallation ก่อนหน้า
ㆍ ยกเลิกหรือขัดจังหวะการ installation หรือ de-installation เช่น ปิดเครื่อง
หรือปิดการเชื่อมต่อเครือข่าย
ㆍ Resume installation/de-installation /upgrade ที่ถูกยกเลิกหรือขัดจังหวะ
ㆍ ตรวจสอบสิทธิต่าง ๆ ของ app ตามที่ผู้ใช้กาหนดไว้
ㆍ Update app ข้อมูลไม่สูญหาย

ทางเลือกในการทดสอบ
ㆍ Application Store
ㆍ Sideloading (Copy file ใส่อุปกรณ์ที่จะทดสอบแล้วติดตั้ง)
ㆍ Desktop Application (Download app แล้วเชื่อมต่ออุปกรณ์ผ่าน cable
เช่น apple iTunes)

SF332 Software Testing and Quality Assurance 20


Security Testing
Test condition
ㆍ ทดสอบการนาเข้าข้อมูลที่อาจจะเป็น code injection หรือทาให้
เกิดปัญหา overflow
ㆍ การเข้ารหัสข้อมูลที่โอนย้าย
ㆍ การเข้ารหัสข้อมูลที่จัดเก็บ
การลบ temporary data หลังการใช้งาน หรือ ปิด app แบบไม่ปกติ
ㆍPassword ไม่มีการทา masking
* * * อาจพิจารณาทดสอบตาม Top 10 ของ Open Web
Application Security Project (OWASP)

SF332 Software Testing and Quality Assurance 21


Stress & Performance Testing
Stress Test เป็นการทดสอบประสิทธิภาพเมื่อทางานภายใต้โหลดที่ไม่ปกติ
Test condition
ㆍ High CPU-usage
ㆍ Out-of-memory
ㆍ พื้นที่จัดเก็บข้อมูลเหลือน้อย
ㆍ Battery ร้อนหรือใช้งานหนัก
ㆍ Bandwidth น้อย
ㆍ มีการโต้ตอบกับผู้ใช้จานวนมาก ( อาจต้องมีการจาลองเงื่อนไขการเชื่อมต่อที่เหมือนจริง )
Performance Test
ㆍจาเป็นต้องทดสอบบนอุปกรณ์ เนื่องจากจะต้องทดสอบการโต้ตอบกับ
backend system และอุปกรณ์อื่น ๆ
ㆍ ทดสอบเวลาที่ใช้ (response time) ,การใช้ทรัพยากร
ㆍ ทดสอบการใช้เวลาในการทางาน workflow ที่สาคัญ

SF332 Software Testing and Quality Assurance 22


Usability Testing
ㆍอาจทดสอบโดย Tester โดยใช้เทคนิค heuristics , test tours
หรือการใช้ Persona
ㆍ Tester จะต้องมีความสามารถในการอธิบายสิ่งที่พบจากการทดสอบ
(Finding) ซึ่งส่วนมากไม่ใช่ข้อบกพร่อง (defect)
ㆍApplication ที่มีการใช้งานที่ดี ควรมีลักษณะ
ㆍ มีคาอธิบายในตัวเอง ใช้งานง่าย
ㆍ รองรับการทาผิดพลาดของผู้ใช้งาน
ㆍ การใช้คาหรือลักษณะการทางานสอดคล้องกันทั้งระบบ
ㆍ สอดคล้องตามแนวทางการออกแบบที่ platform กาหนด
ㆍ แสดงข้อมูลที่จาเป็นให้ชัดบนหน้าจอ

SF332 Software Testing and Quality Assurance 23


Globalization and Localization Testing

ㆍInternationalization (118N) /Globalization testing เป็นการ


ทดสอบ app สาหรับสถานที่ (location) แตกต่างกัน เช่น รูปแบบของ
วันที่, ตัวเลข , จานวนเงิน
ㆍLocalization (L10N) เป็นการแปลงให้อยู่ในรูปแบบของแต่ละ
ท้องถิ่น เข่น string, image , workflow

SF332 Software Testing and Quality Assurance 24


Accessibility Testing
ㆍ เป็นการทดสอบความง่ายในการใช้งานโดยผู้
พิการ โดยสามารถทดสอบได้โดยใช้การตั้งค่าของ
ㆍPlatform อย่าง google / apple มีการจัดทา
แนวทาง (guidelines) ด้าน Accessibility
สาหรับการพัฒนา app ไว้
ㆍ https://www.google.com/accessibility/
ㆍ https://developer.apple.com/design/
human-interface-
guidelines/foundations/accessibility/

SF332 Software Testing and Quality Assurance 25


Additional Test Levels applicable for Mobile Apps
Field Testing
ㆍ ทดสอบเพื่อให้มั่นใจว่าฟังก็ขันต่าง ๆ สามารถใช้งานได้โดยผู้ใช้งานจริง
ㆍ ต้องทดสอบการเชื่อมต่อ เช่น wi-fi , cellular data ภายใต้ระดับความแรงของสัญญาณระดับต่าง ๆ
ㆍ จะต้องมีการวางแผ่นการทสอบอย่างละเอียต ระบุ รายการที่ต้องการทดสอบ เช่น อุปกรณ์ เครือข่าย วิธีการ
เดินทาง เส้นทาง ช่วงเวลาของวัน รวมถึงการพิจารณาสภาพแวดล้อม เช่น อุณหภูมิ สภาพอากาศ
Testing for Application Store Approval and Post-release Testing
ㆍ Store approval : ทดสอบตาม checklist ที่ platform กาหนด ก่อนที่จะเผยแพร่บน store ทั้งกรณีที่เป็น
app ใหม่หรือเป็นการ upgrade
ㆍPost-release : ทดสอบการ download และติดตั้ง application

SF332 Software Testing and Quality Assurance 26


Experience-based Testing Techniques - I

Persona & Mnemonics S - Structure : ส่วนประกอบต่าง ๆ ของหน้าจอ และลาดับการเรียกใช้งาน


Persona เป็นการกาหนดตัวละครสมมติ F - Function : ฟังก์ชันทางานถูกต้อง และ ครบถ้วนตาม requirement
ขึ้นมาแทนผู้ใช้งานจริง โดยกาหนดความ I - Input : วิธีการนาเข้าข้อมูลทาได้ตามที่ต้องการ
คาดหวัง นิสัย เป้าหมาย รวมถึงการมีการ D - Data : ข้อมูลที่จัดเก็บ แก้ไข เพิ่มหรือลบถูกต้องตาม requirement
กาหนดชื่อ เพศ อายุ การศึกษา รายได้ P - Platform : ฟังก์ชันที่ต้องการสามารถใช้ได้ตามการตั้งค่า รวมถึงทดสอบ
และที่อยู่ด้วย การขึ้น store เพื่อ download มาติดตั้ง
Mnemonic เป็นเทคนิคการช่วยจา โดย O - Operation : สามารถจัดการการใช้งานปกติของผู้ใช้ได้ เช่น การเปลี่ยน
ในการนามาใช้ในการทดสอบ แต่ละ เครือข่ายจาก Cellular เป็น Wi-Fi
ตัวอักษรใน Mnemonic ย่อมาจาก T - Time : การจัดการข้อมูลหรือแสดงข้อมูลที่เกี่ยวข้องกับ time zone ,
เทคนิคหรือวิธีทดสอบ เช่น SFiDPOT เวลา, วันที่ ทาได้ถูกต้อง

SF332 Software Testing and Quality Assurance 27


Experience-based Testing Techniques - II
Heuristic เรียกอีกอย่างว่า "rule of thumb" เป็นหลักการที่วางไว้แบบง่าย ๆ หรือคาดเดาหลาย ๆ ทางให้ตัดสินเลือก
ทางที่คิดว่าจะได้ผลดีที่สุด ซึ่งมักจะใช้ผลจากประสบการณ์ที่ผ่านมา mnemonics ส่วนใหญ่สามารถนามาใช้เป็น Heuristic ได้
Tour ใช้เพื่อทาความเข้าใจการทางานของ application เหมาะสาหรับใช้ทดสอบระดับ Field Testing ตัวอย่างของ Tour
คือ Landmark tour ที่เลียนแบบการเยี่ยมชมของนักท่องเที่ยวในเมืองโดยการไปสู่สถานที่สาคัญที่มชี ื่อเสียงเปรียบเทียบกับการ
ทดสอบ Application

Visits in the Landmark tour Analogy for mobile testing


The historical quarter Legacy code
The business district Business logic of the app
Rush hour App startup and shutdown
The tourist quarter Part of the app used by newcomers
The hotel quarter Parts of the app which are only active in sleep

SF332 Software Testing and Quality Assurance 28


Mobile Test Process
Planning Monitor and Control Completion

Analysis Design Implement Execution

สิ่งที่ต้องพิจารณาเพิ่มเติมจากการทดสอบ Software Testing Foundation


Planning Analysis and Design Implement and Execution
ㆍ อุปกรณ์ที่ต้องใช้ในการทดสอบ ㆍ App Stores Approval testing ㆍ Field test
ㆍการใช้เครื่องมือทดสอบ ㆍ Field testing ㆍ ทดสอบการ download และ ติดตั้ง
emulator/simulator ㆍ Device compatibility ㆍ Experience-based techniques
ㆍความท้าทายหรือความเสี่ยงเฉพาะ ㆍ ประเภทของ (ลb ที่จะใช้ ㆍ ทดสอบตาม platform guidelines
ㆍประเภพ/ระดับการทดสอบ ㆍ ประเภทการทดสอบสาหรับ Mobile App

SF332 Software Testing and Quality Assurance 29


EMULATOR & Simulator
Emulator Simulator

จาลอง Hardware และ OS จาลองสภาพแวดล้อมที่มีตัวแปรต่าง ๆ ที่ S/W ต้องใช้

Code จะ compile เป็น Byte-code สามารถใช้บนอุปกรณ์จริง Code จะ compile เป็นรุ่นที่จัดทาเฉพาะ ใช้ได้เฉพาะกับ simulator ไม่สา
มาถใช้กับอุปกรณ์จริงได้
ซับซ้อน , ใช้ในการทดสอบ App และ Debugging ง่ายกว่า เหมาะสาหรับทดสอบ functional

ทดสอบอุปกรณ์ที่เฉพาะเจาะจงกับเครื่อง เช่น กล้อง จาลองอุปกรณ์จริงสาหรับสร้างโหลดและทดสอบ performance

ช้ากว่าทดสอบบนอุปกรณ์จริง เร็วกว่า emulator

SF332 Software Testing and Quality Assurance 30


Mobile Test Lab – On Premise Lab

อุปกรณ์, emulator, simulator อยู่ที่ site ทดสอบ โดยการเลือกอุปกรณ์อาจดูจากสถิติการใช้งาน


ของ go๐gle analytics หรือ แหล่งข้อมูลอืน่ เพื่อเลือก รุ่น ขนาดหน้าจอ หรือคุณสมบัติอื่น ๆ ที่
เหมาะสมกับกลุ่มลูกค้าเป้าหมาย
ข้อดี
ㆍ ความพร้อมใช้ของอุปกรณ์สาหรับการทดสอบแบบใกล้ ๆ เช่น การ
ทดสอบ sensor , battery , การสัมผัส
ข้อเสีย
ㆍ ต้นทุนสูงสาหรับการจัดหาและการบารุงรักษาอุปกรณ์
ㆍ การทดสอบในสภาพแวดล้อม หรือ สถานที่ที่แตกต่างกัน

*** เหมาะสาหรับใช้ในระยะแรก ๆ ของการพัฒนาหรือการทดสอบ

SF332 Software Testing and Quality Assurance 31


Mobile Test Lab – On Premise Lab

Remote device access (RDA) สามารถข้าถึงอุปกรณ์ที่มีความหลากหลายซึง่ อยูท่ ี่ data


center ของ provider ผ่านเครือข่าย โดยควรมีการประเมิน RDA ว่ามีคุณสมบัติสอดคล้องตามที่
ต้องการหรือไม่ โดยเฉพาะต้าน security
ข้อดี
ㆍ คุ้มค่าหากต้องการใช้งานเป็นครั้งคราว
ㆍ ความพร้อมใช้ของอุปกรณ์หรือ platform ที่ไม่มีใน site และการเพิ่ม/ลดจานวนตามความ
ต้องการใช้งานของโครงการ
ㆍ ช่วยในการทดสอบสภาพแวดล้อมที่แตกต่างกันในแต่ละสถานที่ เช่น การเชื่อมต่อ GPS
ข้อเสีย
ㆍ การตอบสนองอาจช้ากว่าการทดสอบบนอุปกรณ์จริง และการทดสอบระยะใกล้มีข้อจากัด
ㆍ ค่าใช้จ่ายอาจสูงหากต้องใช้งานระยะยาว

*** เหมาะสาหรับใช้ในการทดสอบเมื่อต้องการทา Full regression test, function/ non-functional test

SF332 Software Testing and Quality Assurance 32


Agenda
Business Models for Mobile Apps

Mobile Application Test Types

Common Test Types and Test Process for


Mobile Applications

Automating the Test Execution

SF332 Software Testing and Quality Assurance 33


Test Automation
Common Approaches Automation Method
ㆍ User-agent based testing Tester จะต้องวิธีการเขียน script หรือ บันทึก script สาหรับใช้
ใช้ข้อความ string ที่ส่งโดย Browser ในการทา automation test และวิธีการเข้าถึงหรือโต้ตอบกับ
ไปยัง Browser บนอุปกรณ์ ใช้ในการ graphic ของ application เช่น ปุ้มต่าง ๆ เช่น Image
ทดสอบ mobile web application Recognition , OCR
ㆍDevice-based testing ㆍScripting : Tester จะต้องมีความรู้/ทักษะในเขียน script,
เป็นการทดสอบ app บนอุปกรณ์ หากหน้าจอเปลี่ยนจะไม่กระทบต่อ script , เร็วกว่า OCR
โดยตรง ใช้ในการทดสอบ mobile app ㆍ Image Recognition , OCR : Tester ไม่ต้องมีทักษะในการ
ทุกประเภท เขียน script , หาก layout หน้าจอเปลี่ยนจะใช้งานไม่ได้
จะต้องปรับปรุงใหม่ baseline image ใหม่ และทางานซ้ากว่า
เพราะต้องเปรียบเทียบหน้าจอกับ baseline image

SF332 Software Testing and Quality Assurance 34


Automation Evaluation

Organization Fit Technical Fit


เช่นเตียวกันกับการพิจารณาการเครื่องมือใน - ความต้องการในการทา automate
Foundation เช่น - Test environment
- การวิเคราะห์ความต้องการใช้งาน - ความสามารถในการจัดทารายงานและ Feedback
- การประเมินทักษะและการอบรมผู้ใช้ - การรองรับการทดสอบขนาดใหญ่
- Proof of concept - การเชื่อมต่อกับเครื่องมือยื่นหรือ Test object
- Pilot - การ Support และเอกสารสนับสนุน

SF332 Software Testing and Quality Assurance 35


SF332 Software Testing and Quality Assurance 36

You might also like