Tại sao cần phải kiểm tra ứng dụng iPhone của tôi trên thiết bị iPhone thực tế


23

Tôi đã phát triển một ứng dụng cho iPhone và bây giờ tôi muốn nó trên App Store. Vì vậy, nhiều người bạn đam mê iOS của tôi đã bảo tôi thử nghiệm nó trên thiết bị thực tế, tức là trên iPhone.

Vì vậy, tôi tự hỏi rằng tại sao cần phải thử nghiệm ứng dụng iPhone của tôi trên thiết bị iPhone thực tế mặc dù họ (Apple) đã đưa ra "trình giả lập" gần giống với thiết bị của tôi?


3
Vấn đề là "gần giống như thiết bị của tôi". Gần như vậy là không đủ tốt. Sự khác biệt nhỏ có thể ảnh hưởng đến những điều tuyệt vời của ứng dụng của bạn. Bạn không chỉ phải thực sự kiểm tra nó trên phần cứng, mà bạn còn phải nghĩ đến việc thử nghiệm trên các phiên bản khác nhau của phần cứng và phần mềm (phiên bản iOS).
San hô Doe

Câu trả lời:


51

Bạn cần kiểm tra ứng dụng trên thiết bị thực ít nhất để xem cách nó hoạt động với:

  • Phần cứng thiết bị thực
  • Kết nối internet thực (bao gồm cả việc sử dụng mạng di động so với WiFi)
  • Ngón tay của bạn thay vì chuột
  • Hiệu suất với các ứng dụng khác đang chạy trong nền
  • Những hạn chế của iPhone, như cpu, dung lượng ổ đĩa và bộ nhớ ( Trình mô phỏng không phải là Trình giả lập ).
  • Bối cảnh thực tế: có dễ sử dụng ứng dụng của bạn trên tàu hay khi đi bộ trên đường không? Làm thế nào về ánh sáng mặt trời hoặc trong mưa?

Các nhà phát triển iOS, vui lòng tiếp tục danh sách này.


thật tuyệt .. :). Điều rất đơn giản tôi phải nghĩ về ... :) Thnaks
NSS

2
Trên thực tế, anh ta cần kiểm tra nó với tất cả các thiết bị dành cho (iphone3 / 3g / 4 / 4s / 5) cũng như tất cả các phiên bản ios 3/4/5/6, hoặc anh ta phải loại trừ rõ ràng thiết bị / phiên bản đó.
ott--

Cảm ơn các liên kết giả lập không giả lập .. Tôi không bao giờ biết có sự khác biệt giữa cả hai.
Krishnabhadra

Có các phòng thử nghiệm thiết bị mở mọc lên, đọc ví dụ như mobile.smashingmagazine.com/2012/09/24/NH . Có lẽ có một trong khu phố của bạn. Google "phòng thử nghiệm di động" "phòng thí nghiệm thiết bị mở"
Jan Doggen

20

Một điều bạn sẽ không bao giờ biết khi thử nghiệm với trình giả lập là cảm giác thực sự của người dùng khi cầm một thiết bị thực trong tay, trượt ngón tay trên màn hình. Do đó, các hành động của người dùng có vẻ mượt mà khi mô phỏng bằng bàn di chuột trên máy tính xách tay của bạn, có thể trở nên khá cồng kềnh đối với việc sử dụng thiết bị thực. Để đảm bảo rằng ứng dụng của bạn ổn, hãy kiểm tra nó với thiết bị thực.

Một điều đáng để thử nghiệm với thiết bị thực là tiêu thụ pin. Điều đó thực sự an toàn hơn khi chỉ thử nghiệm với thiết bị thực so với việc các nhà phát triển giả lập quản lý tốt để tái tạo nó trong công cụ của họ.

Có thể có những thứ khác không đủ gần với trình giả lập. Âm lượng và cân bằng âm thanh chẳng hạn - cách âm thanh trên máy tính xách tay của bạn, có thể khác với cách âm thanh trên điện thoại thực. Rung là một ví dụ khác mà hầu như không thể có được với trình giả lập. Cách thức cảm biến con quay hồi chuyển làm việc ở điện thoại thật. GPS / vị trí liên quan đến công cụ. V.v ...


Trình mô phỏng so với thử nghiệm thiết bị thực là một vấn đề khá quan trọng. Trong một trong những dự án trước đây của tôi, một phần quan trọng của thành công thương mại là sự cân bằng cẩn thận giữa các loại thử nghiệm này, về cơ bản sôi sục để đặt lại câu hỏi vĩnh viễn như tại sao trên thiết bị?

Công việc thực sự bắt đầu khi người ta hỏi tại sao , chọn lý do để chọn giữa thử nghiệm trên thiết bị và thử nghiệm giả lập trong các trường hợp và tình huống cụ thể.

Bỏ qua thử nghiệm thiết bị sẽ khiến sản phẩm của bạn có nguy cơ bị phá vỡ (khá cao) trong tay người dùng cuối, phá hủy hoàn toàn mọi nỗ lực bạn bỏ ra để phát triển. Nhưng điều này là, thử nghiệm giả lập rẻ hơn nhiều và dễ dàng hơn cho tự động hóa. Nếu một cách mù quáng dính vào trên thiết bị chỉ thử nghiệm, thông cáo của họ có thể trở nên đáng kể sau và đắt hơn so với các đối thủ cạnh tranh.


3
+1 để nhấn mạnh phần trải nghiệm người dùng. Đây là một phần rất quan trọng khi nghĩ về việc chia sẻ một ứng dụng trong cửa hàng ứng dụng.
San hô Doe

1
Bạn đã có một nhận xét tuyệt vời trên bảng trắng về chi phí lớn hơn nhiều khi thử nghiệm thiết bị so với trình giả lập. Tôi nghĩ rằng nó sẽ là tuyệt vời để bao gồm trong câu trả lời của bạn. +1 ngay cả khi không có nó.
psr

@psr rất vui vì bạn thích nó - đã cập nhật câu trả lời như bạn đề xuất
gnat

7

Từ kinh nghiệm và cất cánh từ câu trả lời được bình chọn tốt nhất:

  • Ngón tay của bạn thay vì chuột là điểm khác biệt lớn nhất khi chúng tôi phát triển Decimation X2 cho Windows Phone 7. Nó được mã hóa trên trình giả lập, vì chúng tôi không có WP7 và trước khi WP7 được phát hành. Chúng tôi có thể đã nhận được WP7 miễn phí trước khi phát hành, trong trường hợp câu cuối cùng không có ý nghĩa gì với bạn, vì chúng tôi đã được Microsoft mời để có một tiêu đề ra mắt trên điện thoại của họ. Hóa ra, những gì chúng tôi muốn người dùng làm bằng ngón tay của họ rất khó khăn trên điện thoại thật, nhưng dễ dàng với một con chuột. Và nó đã phải làm với các trường hợp cạnh màn hình. Thật không may, trò chơi của chúng tôi yêu cầu các ngón tay của bạn phải ở cạnh màn hình mọi lúc, điều mà một số điện thoại khó thực hiện do màn hình chìm cũng như vỏ dày. Chúng tôi thực sự đưa ra một bản vá để sửa lỗi này. Điều này có nghĩa là tất cả người dùng lần đầu của chúng tôi đều thấy xấu và có khả năng không sử dụng được, phiên bản trò chơi của chúng tôi. :

  • Tốc độ phần cứng khác nhau là sự khác biệt lớn nhất tiếp theo. Chúng tôi đã phải đoán theo nghĩa đen bằng phương pháp không chính xác khi lấy phiên bản trò chơi Xbox 360 của chúng tôi và hạ cấp nó xuống một nửa tốc độ khung hình (60fps đến 30fps) và một phần ba GHz (3.0GHz đến 1.0GHz) và chúng tôi đoán sai rồi. Các bộ xử lý là khác nhau, tất nhiên, và chúng tôi biết điều này. Không có phần cứng, chúng tôi chỉ còn lại những phỏng đoán khập khiễng. Đó không phải là lựa chọn của chúng tôi vì chúng tôi không có WP7, nhưng chúng tôi đã học được bài học tôi đang chia sẻ với bạn bây giờ. Trên một số điện thoại, trong những phần nặng nhất của trò chơi, nó bị rớt khung hình. :( Không ai có vẻ quan tâm khi họ cho rằng sự chậm lại là phù hợp với những phần dữ dội như vậy. Vì vậy, nó không phải là vấn đề lớn, nhưng vấn đề là: Nếu đây là một vấn đề lớn, "ứng dụng" sẽ bị phá vỡ từ phỏng đoán khập khiễng của chúng tôi.

Kiểm tra trên phần cứng thực sự. Và khi bạn mã hóa phần cứng điện thoại khác nhau, hãy kiểm tra các thiết bị cấp thấp hơn nếu hiệu suất là một vấn đề.


6

Trình mô phỏng iPhone thực hiện một số API mà chính iPhone không có (API chính mà tôi nghĩ đến là API XML XML, trong đó iPhone chỉ hỗ trợ SAX theo hiểu biết của tôi, điều này có thể đã thay đổi ngay bây giờ.)

Nó cũng sẽ cho phép bạn 'cảm nhận' ứng dụng, các nút của bạn có đúng kích cỡ không? Các nút bên phải rơi dưới ngón tay cái của một người? IPhone có chạy ứng dụng không? Trình giả lập không phải là trình giả lập và hoạt động bằng cách chỉ thêm Cacao Touch vào máy tính để bàn của bạn cho ứng dụng đó. Bạn phải mô phỏng ra khỏi các cảnh báo bộ nhớ và tương tự.


5

Bởi vì bạn sẽ không có nhiều người dùng đi bộ với một trình giả lập trong túi của họ.

EDIT: Bất cứ khi nào bạn đang kiểm tra ứng dụng của mình trên trình giả lập (hoặc trình giả lập), bạn đang sử dụng một thiết bị giả mạo, theo định nghĩa, đại diện chính xác 100% của vật thật. Trình giả lập có thể chính xác hơn trình giả lập, nhưng vẫn sẽ có sự khác biệt. Trình giả lập chính xác duy nhất 100% là chính thiết bị.

Thiết kế, kiểm tra, tối ưu hóa mã trên trình giả lập dẫn đến một ứng dụng được tinh chỉnh để hoạt động tối ưu trên một trình giả lập. Người dùng của bạn sẽ không có trình giả lập; bạn đang nhắm mục tiêu thiết bị sai. Một cái rất giống nhau; nhưng không phải là thiết bị tương tự mà người dùng của bạn sẽ sử dụng.

Điều này có thể dẫn đến một số loại vấn đề. Các vấn đề nghiêm trọng như lỗi, sự cố chắc chắn là ưu tiên hàng đầu của bạn. Nhưng có những người khác; chẳng hạn như công thái học. Cố gắng giữ Trình mô phỏng trong tay của bạn. Thử xem. Các thành phần UI được hiển thị trên một màn hình khác, với khả năng hiển thị màu khác nhau và chắc chắn là các kích thước khác nhau (một vấn đề nghiêm trọng hơn do màn hình võng mạc đẹp, chẳng hạn, hoàn toàn không được giải quyết bằng cách sử dụng macbook võng mạc). Là những sắc thái tinh tế của màu xám có thể phân biệt như nhau trên một thiết bị dưới ánh mặt trời?

Sự khác biệt tinh tế về tốc độ và mô phỏng cảm biến khác nhau (hoặc thiếu nó), đôi khi có thể làm thay đổi đáng kể trải nghiệm.

Nếu ứng dụng của bạn phụ thuộc vào kết nối internet, không có cách nào để bạn chuyển đổi giữa LTE, 3G, EDGE hoặc GPRS, để kiểm tra các kịch bản khác nhau hoặc thậm chí kiểm tra các nhà mạng khác nhau.

Bạn sẽ hỗ trợ các thiết bị bẻ khóa? Có lẽ bạn không, nhưng nếu là bạn, có lẽ bạn sẵn sàng thử nghiệm ứng dụng của mình với một ứng dụng. Hoặc, nếu bạn không, bạn có tự tin rằng bạn đang phát hiện một môi trường bẻ khóa không?

Trò chơi iPad mà bạn đang phát triển trên trình giả lập có thể sử dụng được như nhau khi người dùng đang giữ trọng lượng của nó và sử dụng ngón tay của mình để chơi không? Có phải nhiều lần chạm vô tình có thể phá vỡ ứng dụng của bạn, điều mà bạn không thể lường trước được trong môi trường giả lập một chạm an toàn (hoặc chạm hai lần đối xứng) không?

Bạn có cảm thấy thoải mái khi lên máy bay được chỉ huy bởi một phi công chưa bao giờ thực sự rời khỏi mặt đất?

Điểm mấu chốt là: trước khi giao hàng, vui lòng sử dụng cùng một thiết bị mà người dùng của bạn sẽ sử dụng. Không ai trong số họ sẽ sử dụng Trình mô phỏng.


4
Tình cảm đơn giản và hợp lệ nhưng chi tiết ngoài một câu làm cho câu trả lời có giá trị hơn đối với cộng đồng nói chung.
Jimmy Hoffa

3

Lý do thực tế:

1) Bạn không có chức năng "gửi thư".

2) Bạn không thể đặt thiết bị lộn ngược ..

và tất nhiên đã nói lý do:

3) băng thông thấp

4) sức mạnh tính toán rất nhỏ so với giả lập

5) Các cuộc gọi GL mở được triển khai hơi khác một chút trong trình giả lập

6) dung lượng đĩa / RAM ..


Mô phỏng và giả lập hiện đại cho phép bạn xoay thiết bị. Các ứng dụng dựa trên đám mây cũng vậy, ví dụ như trình giả lập Nokia Lumia do BrowserStack cung cấp.
Dan Dascalescu

một số phép quay bị lỗi hoặc không được triển khai .. hãy thử .. :) và các trạng thái của Apple tại: developer.apple.com/l
Library / content / document / ONs / Lỗi

3

Mặc dù đã được đề cập rằng hiệu suất của phần cứng nói chung là kém hơn, nhưng phải lưu ý rằng đây không phải là trường hợp của OpenGL ES. Trình giả lập thực hiện nó trong phần mềm nên không có gì lạ, để nhận thấy hiệu suất tăng rất lớn trong khi chạy trên chính thiết bị.

Ngoài ra, có một số khác biệt nhỏ giữa triển khai phần mềm và phần cứng của Open GL ES, ví dụ: gợi ý độ chính xác của trình đổ bóng có thể có đầu ra khác nhau.


2

Khi chúng tôi triển khai mọi thứ cho iOS (hoặc Android hoặc windows phone), chúng tôi phát triển không phải cho máy tính để bàn mà cho thiết bị. Đối với một số ứng dụng nặng về tính toán / tài nguyên, điều này có thể có nghĩa là hành vi bình thường đối với các sự cố BUT giả lập trên thiết bị thực tế.

Vì vậy, những tình huống như thế này có thể gặp phải trong các giai đoạn sau nếu chúng ta không kiểm tra trên thiết bị ngay từ đầu: -

  • Cảnh báo bộ nhớ / sự cố
  • Tốc độ khung hình OpenGL một chữ số

2

Có một số tính năng như PushNotification , sử dụng máy ảnh , v.v. mà chúng tôi chỉ có thể kiểm tra trên thiết bị; đây là những tính năng không thể thử nghiệm trên trình giả lập.

Và thử nghiệm ứng dụng của bạn trên một thiết bị thực tế trước khi gửi lên App Store sẽ giảm cơ hội từ chối ứng dụng; đôi khi một ứng dụng hoạt động tốt trong trình giả lập nhưng nó gặp sự cố trên một thiết bị thực tế, đó là lý do chính cho sự từ chối ứng dụng.


2

Có thể có sự khác biệt hiệu suất thực sự giữa thiết bị thực tế và trình giả lập. Chúng tôi thấy rằng chỉ thử nghiệm với trình giả lập dẫn đến một ứng dụng rất chậm trong nhiều trường hợp, điều mà chúng tôi không mong đợi.


3
Trớ trêu thay, một trong những ứng dụng của tôi có hiệu suất tốt hơn trên thiết bị thực tế so với trình giả lập trên máy tính xách tay của tôi.
Michael Itzoe

1
@nathan: Tôi nghĩ rằng chúng tôi sử dụng SIMULATOR chứ không phải EMULATOR! Android sdk có trình giả lập trong khi sdk iOS cung cấp trình giả lập .. và có sự khác biệt giữa trình giả lập và trình giả lập. không vì vậy tôi đọc ur ans bằng cách thay thế trình giả lập từ bằng trình giả lập .. n tnx 2 ans :)
NSS

-1

Trải nghiệm người dùng thay đổi từ thiết bị này sang thiết bị khác do hệ điều hành khác nhau và

thông số kỹ thuật phần cứng. Do đó, cần phải thử nghiệm ứng dụng iPhone trên thực tế

thiết bị - thiết bị di động chạy các phiên bản iOS khác nhau trên thị trường.

Mặc dù trình giả lập rất hữu ích trong việc xác định bất kỳ vấn đề nào mà người dùng cuối gặp phải,

thử nghiệm ứng dụng trên thiết bị gốc sẽ giúp xác định và giải quyết vấn đề chính

mối quan tâm của người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.