เหตุใดจึงจำเป็นต้องทดสอบแอพ iPhone ของฉันบนอุปกรณ์ iPhone จริง


23

ฉันพัฒนาแอปพลิเคชั่นหนึ่งสำหรับ iPhone และตอนนี้ฉันต้องการมันบน App Store เพื่อน iOS ที่มีปัญหาทางด้านวิทยาศาสตร์ของฉันบอกให้ฉันทดสอบบนอุปกรณ์จริงเช่นบน iPhone

ดังนั้นฉันจึงสงสัยว่าเหตุใดจึงจำเป็นต้องทดสอบแอพ iPhone ของฉันบนอุปกรณ์ iPhone จริง ๆ (แม้ว่าพวกเขา (Apple) จะให้ "simulator" ซึ่งใกล้เคียงกับอุปกรณ์ของฉันหรือไม่


3
ปัญหาเกิดขึ้นกับ "ใกล้เคียงกับอุปกรณ์ของฉัน" ใกล้กันไม่ดีพอ ความแตกต่างเล็กน้อยอาจส่งผลต่อสิ่งที่ยอดเยี่ยมของแอปพลิเคชัน ไม่เพียง แต่คุณต้องทำการทดสอบบนฮาร์ดแวร์เท่านั้น แต่คุณต้องคิดถึงการทดสอบกับฮาร์ดแวร์และซอฟต์แวร์รุ่นต่าง ๆ (เวอร์ชั่น iOS)
Coral Doe

คำตอบ:


51

คุณต้องทดสอบแอปพลิเคชันบนอุปกรณ์จริงเป็นอย่างน้อยเพื่อดูว่ามันทำงานอย่างไร:

  • ฮาร์ดแวร์ของอุปกรณ์จริง
  • การเชื่อมต่ออินเทอร์เน็ตจริง (รวมถึงการใช้เครือข่ายมือถือเทียบกับ WiFi)
  • นิ้วของคุณแทนเมาส์
  • ประสิทธิภาพด้วยแอพอื่น ๆ ที่ทำงานในพื้นหลัง
  • ข้อ จำกัด ของ iPhone เช่น cpu ความจุดิสก์และหน่วยความจำ ( A Simulator ไม่ใช่ Emulator )
  • บริบทจริง: มันง่ายต่อการใช้แอพของคุณบนรถไฟหรือขณะเดินไปตามถนน? วิธีการเกี่ยวกับแสงแดดจ้าหรือในสายฝน?

นักพัฒนา iOS โปรดทำรายการนี้ต่อ


นั่นเป็นเรื่องดี .. :) สิ่งที่ง่ายมากที่ฉันต้องนึกถึง ... :) Thnaks
NSS

2
ที่จริงแล้วเขาต้องการทดสอบกับอุปกรณ์ทั้งหมดที่มีไว้สำหรับ (iphone3 / 3g / 4 / 4s / 5) เช่นเดียวกับ iOS ทุกรุ่น 3/4/5/6 หรือเขาต้องแยกอุปกรณ์ / รุ่นนั้นออกอย่างชัดเจน
ott--

ขอบคุณสำหรับการจำลองไม่ได้จำลองลิงค์ .. ฉันไม่เคยรู้ว่ามีความแตกต่างระหว่างทั้งสอง
Krishnabhadra

มีห้องปฏิบัติการทดสอบอุปกรณ์แบบเปิดผุดขึ้นอ่านเช่นmobile.smashingmagazine.com/2012/09/24/ … อาจมีอยู่ในละแวกของคุณ Google "ห้องปฏิบัติการทดสอบอุปกรณ์เคลื่อนที่" "ห้องปฏิบัติการเปิดอุปกรณ์"
Jan Doggen

20

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

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

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


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

การทำงานจริงเริ่มต้นเมื่อมีคนถามว่าทำไมเลือกเหตุผลในการเลือกระหว่างการทดสอบบนอุปกรณ์และเครื่องมือจำลองในบางกรณีและสถานการณ์

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


3
+1 สำหรับเน้นส่วนของประสบการณ์ผู้ใช้ มันเป็นส่วนสำคัญมากเมื่อคิดถึงการแชร์แอปพลิเคชั่นใน app store
Coral Doe

1
คุณมีความคิดเห็นที่ดีเกี่ยวกับไวท์บอร์ดเกี่ยวกับค่าใช้จ่ายในการทดสอบอุปกรณ์เทียบกับเครื่องจำลอง ฉันคิดว่ามันจะเป็นการดีที่จะรวมไว้ในคำตอบของคุณ +1 แม้ไม่มี
psr

@psr ดีใจที่คุณชอบ - อัปเดตคำตอบตามที่คุณแนะนำ
gnat

7

จากประสบการณ์และนำออกจากคำตอบที่โหวตดีที่สุด:

  • นิ้วของคุณแทนที่จะเป็นเม้าส์นั้นแตกต่างกันมากที่สุดเมื่อเราพัฒนา Decimation X2 สำหรับ Windows Phone 7 มันมีรหัสบนอีมูเลเตอร์เนื่องจากเราไม่มี WP7 และก่อนที่ WP7 จะวางจำหน่าย เราอาจได้รับ WP7 ฟรีก่อนเปิดตัวในกรณีที่ประโยคสุดท้ายไม่มีความหมายสำหรับคุณเนื่องจาก Microsoft ได้รับเชิญจากเราให้เปิดตัวชื่อเรื่องบนโทรศัพท์ของพวกเขา มันกลับกลายเป็นว่าสิ่งที่เราต้องการให้ผู้ใช้ทำด้วยมือของพวกเขานั้นเป็นเรื่องยากมากในโทรศัพท์จริง แต่ใช้ง่ายด้วยเมาส์ และมันเกี่ยวกับเคสขอบหน้าจอ น่าเสียดายที่เกมของเราต้องการให้นิ้วของคุณอยู่ที่ขอบหน้าจอตลอดเวลาซึ่งโทรศัพท์บางรุ่นทำได้ยากเนื่องจากหน้าจอที่จมอยู่รวมถึงเคสหนา เราเอา patch มาแก้ไขนี่ ซึ่งหมายความว่าผู้ใช้ครั้งแรกของเราทั้งหมดแสดงว่าไม่ดีและอาจใช้ไม่ได้ รุ่นของเกมของเรา :(

  • ความเร็วของฮาร์ดแวร์ที่แตกต่างกันคือความแตกต่างที่ใหญ่ที่สุดต่อไป เราต้องคาดเดาอย่างแท้จริงด้วยวิธีการที่ไม่ถูกต้องในการใช้เกม Xbox 360 ของเราและลดระดับลงตามครึ่งอัตราเฟรม (60fps ถึง 30fps) และหนึ่งในสามของ GHz (3.0GHz ถึง 1.0GHz) และเราเดา ไม่ถูกต้อง. โปรเซสเซอร์มีความแตกต่างแน่นอนและเรารู้สิ่งนี้ หากไม่มีฮาร์ดแวร์เราก็ถูกคาดเดาไม่ได้ มันไม่ใช่ทางเลือกของเราเนื่องจากเราไม่มี WP7 แต่เราได้เรียนรู้บทเรียนที่ฉันแบ่งปันกับคุณตอนนี้ ในโทรศัพท์บางรุ่นในช่วงที่ส่วนใหญ่ของเกมลดขนาดเฟรมลง :( ดูเหมือนจะไม่มีใครสนใจเพราะพวกเขาคิดว่าการชะลอตัวนั้นเหมาะสมสำหรับส่วนที่รุนแรงเช่นนั้นดังนั้นจึงไม่ใช่เรื่องใหญ่ แต่ประเด็นคือ: หากนี่เป็นเรื่องใหญ่แล้ว

ทดสอบฮาร์ดแวร์จริง และเมื่อคุณใช้รหัสสำหรับฮาร์ดแวร์โทรศัพท์ต่าง ๆ ให้ทดสอบตัวล่างสุดว่าประสิทธิภาพเป็นปัญหาหรือไม่


6

iPhone Simulator ใช้ API บางตัวที่ iPhone ไม่ได้ใช้ (อันหลักที่นึกได้คือ DOM XML API ที่ iPhone รองรับ SAX เท่านั้นสำหรับความรู้ของฉันซึ่งอาจมีการเปลี่ยนแปลงได้ในขณะนี้)

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


5

เพราะคุณจะไม่ได้มีผู้ใช้จำนวนมากเดินไปรอบ ๆ พร้อมกับจำลองในกระเป๋าของพวกเขา

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

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

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

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

หากแอปพลิเคชันของคุณใช้การเชื่อมต่ออินเทอร์เน็ตคุณจะไม่สามารถสลับไปมาระหว่าง LTE, 3G, EDGE หรือ GPRS เพื่อทดสอบสถานการณ์ที่แตกต่างกันหรือแม้แต่ทดสอบผู้ให้บริการที่แตกต่างกัน

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

เกม iPad ที่คุณกำลังพัฒนาอยู่บนเครื่องจำลองนั้นใช้งานได้อย่างเท่าเทียมกันหรือไม่เมื่อผู้ใช้ถือน้ำหนักและใช้นิ้วมือของเธอเล่น การสัมผัสหลายครั้งโดยไม่ตั้งใจสามารถทำลายแอปของคุณได้หรือไม่สิ่งที่คุณไม่สามารถคาดการณ์ได้ในสภาพแวดล้อมการจำลองแบบสัมผัสครั้งเดียวที่ปลอดภัย (หรือสมมาตร Double-Touch)

คุณจะรู้สึกสบายใจกับการขึ้นเครื่องบินโดยนักบินที่ไม่เคยออกจากพื้นดินจริงหรือ?

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


4
ความเชื่อมั่นที่ง่ายและถูกต้อง แต่รายละเอียดที่เกินกว่าประโยคเดียวจะทำให้คำตอบมีค่ามากขึ้นสำหรับชุมชนโดยรวม
Jimmy Hoffa

3

เหตุผลในทางปฏิบัติ:

1) คุณไม่มีฟังก์ชั่น "ส่งอีเมล"

2) คุณไม่สามารถวางอุปกรณ์กลับหัวลงได้ ..

และแน่นอนว่าเหตุผลที่กล่าวไว้แล้ว:

3) แบนด์วิดธ์ต่ำ

4) พลังการคำนวณที่เล็กมากเมื่อเทียบกับเครื่องจำลอง

5) การเรียก Open GL ถูกนำมาใช้ในการจำลองต่างกันเล็กน้อย

6) พื้นที่ดิสก์ / RAM ..


ตัวจำลองและตัวเลียนแบบที่ทันสมัยช่วยให้คุณหมุนอุปกรณ์ได้ ตัวอย่างเช่น Cloud-based เช่น Nokia Lumia emulator ที่นำเสนอโดย BrowserStack
Dan Dascalescu

ผลัดบางคนมีรถหรือไม่ได้ดำเนินการ .. ลอง .. :) และแอปเปิ้ลระบุที่: developer.apple.com/library/content/documentation/IDEs/...
ingconti

3

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

นอกจากนี้ยังมีความแตกต่างเล็กน้อยระหว่างการใช้งานซอฟต์แวร์และฮาร์ดแวร์ของ Open GL ES เช่นคำแนะนำที่แม่นยำของ shader อาจมีเอาต์พุตที่แตกต่างกัน


2

เมื่อเราใช้สิ่งต่าง ๆ สำหรับ iOS (หรือ Android หรือ Windows Phone) เราไม่ได้พัฒนาสำหรับเดสก์ท็อป แต่สำหรับอุปกรณ์ สำหรับการคำนวณ / แอปพลิเคชั่นที่มีทรัพยากรมากอาจหมายถึงพฤติกรรมปกติในการจำลองปัญหา BUT แต่ในอุปกรณ์จริง

ดังนั้นสถานการณ์เช่นนี้สามารถพบได้ในระยะต่อมาหากเราไม่ทดสอบอุปกรณ์ตั้งแต่เริ่มต้น: -

  • คำเตือน / หน่วยความจำล่ม
  • อัตราเฟรม OpenGL แบบเลขดิจิตเดียว

2

มีคุณสมบัติบางอย่างเช่นมีPushNotification , ใช้กล้องฯลฯ ซึ่งเราสามารถทดสอบบนอุปกรณ์; นี่คือคุณสมบัติที่ไม่สามารถทดสอบได้ในเครื่องจำลอง

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


2

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


3
แดกดันหนึ่งในแอพของฉันมีประสิทธิภาพที่ดีกว่าบนอุปกรณ์จริงมากกว่าตัวจำลองบนแล็ปท็อปของฉัน
Michael Itzoe

1
@ นาธาน: ฉันคิดว่าเราใช้ SIMULATOR มากกว่า EMULATOR! Android sdk มีตัวจำลองในขณะที่ iOS sdk ให้ตัวจำลอง .. และมีความแตกต่างระหว่างตัวจำลองและตัวจำลอง ไม่ได้? ดังนั้นฉันอ่าน ur โดยการแทนที่โปรแกรมจำลองคำด้วยโปรแกรมจำลอง .. n tnx 2 ans :)
NSS

-1

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

ข้อกำหนดฮาร์ดแวร์ ดังนั้นจึงจำเป็นต้องทดสอบแอป iPhone ตามจริง

อุปกรณ์ - อุปกรณ์มือถือที่ใช้ iOS เวอร์ชันต่างๆในตลาด

แม้ว่าตัวจำลองจะมีประโยชน์ในการระบุปัญหาที่ผู้ใช้ปลายทางต้องเผชิญ

การทดสอบแอปบนอุปกรณ์ดั้งเดิมจะช่วยในการระบุและจัดการที่สำคัญ

ความกังวลของผู้ใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.