iPhone 용으로 하나의 응용 프로그램을 개발했으며 이제 App Store에서 원합니다. 많은 iOS iOS 친구들이 실제 기기, 즉 iPhone에서 테스트 해 보라고 말했습니다.
그래서 실제 애플 아이폰 기기에서 애플의 아이폰 앱을 테스트해야하는 이유가 궁금합니다.
iPhone 용으로 하나의 응용 프로그램을 개발했으며 이제 App Store에서 원합니다. 많은 iOS iOS 친구들이 실제 기기, 즉 iPhone에서 테스트 해 보라고 말했습니다.
그래서 실제 애플 아이폰 기기에서 애플의 아이폰 앱을 테스트해야하는 이유가 궁금합니다.
답변:
최소한 실제 장치에서 응용 프로그램을 테스트하여 응용 프로그램의 작동 방식을 확인해야합니다.
iOS 개발자는이 목록을 계속하십시오.
에뮬레이터로 테스트 할 때 알 수없는 한 가지는 실제 장치를 손에 들고 화면에서 손가락을 미끄러지는 사용자에게 실제로 느끼는 것입니다. 결과적으로 랩톱에서 터치 패드로 시뮬레이션 할 때 매끄럽게 보였던 사용자 동작이 실제 장치 사용에 상당히 번거로울 수 있습니다. 응용 프로그램이 정상인지 확인하려면 실제 장치로 테스트하십시오.
실제 장치로 테스트해야 할 또 다른 것은 배터리 소비입니다. 시뮬레이터 개발자가 툴에서 얼마나 잘 재현했는지에 의존하는 것보다 실제 장치로 테스트하는 것이 훨씬 안전합니다.
시뮬레이터에서 충분히 가깝지 않은 다른 것들이있을 수 있습니다. 예를 들어 랩톱에서 소리가 나는 방식은 실제 전화와는 다를 수 있습니다. 진동은 시뮬레이터로 바로 잡을 수있는 또 다른 예입니다. 자이로 센서가 실제 전화에서 작동하는 방식. GPS / 위치 관련 사항. 기타 등등 ...
시뮬레이터 대 실제 장치 테스트는 매우 중요한 문제입니다. 과거의 프로젝트 중 하나에서 상업적 성공의 중요한 부분은 이러한 종류의 테스트 사이의 신중한 균형 조정이었습니다 .
하나가 요청할 때 실제 작업이 시작 하는 이유 를 선택할 수있는 이유를 따기에-device 및 특별한 경우와 상황에서 시뮬레이터 테스트.
장치 테스트를 무시하면 제품이 최종 사용자의 손에 닿을 위험에 노출되어 개발에 드는 모든 노력이 완전히 중단됩니다. 그러나 시뮬레이터 테스트는 훨씬 저렴하고 자동화하기가 훨씬 쉽습니다. 맹목적으로 온 디바이스 전용 테스트를 고수하는 경우 릴리스가 경쟁 업체에 비해 상당히 늦고 더 비쌀 수 있습니다 .
경험과 최고의 투표 답변에서 이륙 :
마우스 대신 손가락이 Windows Phone 7 용 Decimation X2를 개발할 때 가장 큰 차이가있었습니다. WP7이없고 WP7이 출시되기 전인 에뮬레이터에서 코딩되었습니다. Microsoft가 자사의 전화에 출시 타이틀을 갖도록 초대받은 것처럼 마지막 문장이 귀하에게 의미가없는 경우 출시 전에 무료 WP7을 받았을 수 있습니다. 우리가 사용자가 손가락으로하고 싶었던 것은 실제 전화에서는 매우 어려웠지만 마우스로는 쉽지 않았습니다. 그리고 그것은 스크린 에지 케이스와 관련이 있습니다. 불행히도 우리 게임은 손가락이 항상 화면 가장자리에 있어야하는데, 일부 휴대 전화는 화면이 굵고 화면이 두껍기 때문에 힘들었습니다. 우리는 실제로 이것을 고치기위한 패치를 내놓았습니다. 이는 우리의 모든 최초 사용자에게 악의적이고 잠재적으로 사용 불가능한 것으로 나타났음을 의미합니다. 우리 게임의 버전. :(
다른 하드웨어 속도는 다음으로 가장 큰 차이였습니다. Xbox 360 버전의 게임을 가져와 프레임 속도의 절반 (60fps ~ 30fps)과 1/3 GHz (3.0GHz ~ 1.0GHz)로 적절하게 다운 그레이드하는 부정확 한 방법으로 문자 그대로 추측해야했습니다. 잘못된. 물론 프로세서는 달랐으며 우리는 이것을 알고있었습니다. 하드웨어가 없으면 우리는 절름발이 추측으로 남았습니다. 우리는 WP7이 없었기 때문에 우리의 선택이 아니었지만, 지금 당신과 함께 나누고있는 교훈을 배웠습니다. 일부 휴대 전화에서는 게임의 가장 집중적 인 부분에서 프레임이 떨어졌습니다. :( 그런 둔화가 그런 강렬한 부분에 적합하다고 가정했을 때 아무도 신경 쓰지 않는 것 같았습니다. 따라서 큰 문제는 아니었지만 요점은 다음과 같습니다.
실제 하드웨어에서 테스트하십시오. 다양한 전화 하드웨어를 코딩 할 때 성능이 문제가되는 경우 저가형 하드웨어를 테스트하십시오.
주머니에 시뮬레이터를 가지고 다니는 많은 사용자가 없기 때문에.
편집 : 시뮬레이터 (또는 에뮬레이터)에서 앱을 테스트 할 때마다 실제적으로 100 % 정확한 표현이 될 수없는 가짜 장치를 사용하고 있습니다. 에뮬레이터는 시뮬레이터보다 정확할 수 있지만 여전히 차이가 있습니다. 100 % 정확한 에뮬레이터는 장치 자체입니다.
시뮬레이터에서 코드를 설계, 테스트, 최적화하면 애플리케이션이 시뮬레이터에서 최적으로 작동하도록 미세 조정됩니다. 그러나 사용자에게는 시뮬레이터가 없습니다. 잘못된 기기를 타겟팅하고 있습니다. 매우 유사한 것; 그러나 사용자가 사용할 장치와 동일하지는 않습니다.
여러 가지 문제가 발생할 수 있습니다. 버그와 같은 심각한 문제, 충돌은 확실히 최우선 과제입니다. 그러나 다른 사람들도 있습니다. 인체 공학과 같은. 시뮬레이터를 손에 쥐십시오. 단지 시도. UI 요소는 다른 화면에서 렌더링 될 수 있으며, 다른 색상 렌더링과 확실히 다른 크기 (예를 들어 레티 나 맥북을 사용하여 완전히 해결되지는 않지만 아름다운 레티 나 디스플레이로 인해 악화되는 문제)가 있습니다. 태양의 장치에서 그처럼 아름다운 회색 음영이 똑같이 구별됩니까?
속도의 미묘한 차이와 다른 센서 에뮬레이션 (또는 그 부족)은 때때로 경험을 극적으로 변화시킬 수 있습니다.
애플리케이션이 인터넷 연결에 의존하는 경우 LTE, 3G, EDGE 또는 GPRS간에 전환하거나 다른 시나리오를 테스트하거나 다른 캐리어를 테스트 할 수있는 방법이 없습니다.
탈옥 된 기기를 지원 하시겠습니까? 아마도 당신은 아니지만, 당신이 있다면, 당신은 아마도 하나의 앱으로 기꺼이 테스트 할 것입니다. 또는 그렇지 않은 경우 탈옥 환경을 감지하고 있다고 확신하십니까?
시뮬레이터에서 개발중인 iPad 게임은 사용자가 몸무게를 잡고 손가락을 사용하여 플레이 할 때에도 동일하게 사용할 수 있습니까? 의도하지 않은 다중 터치로 인해 안전한 단일 터치 (또는 대칭 이중 터치) 시뮬레이터 환경에서 예상 할 수 없었던 앱이 중단 될 수 있습니까?
실제로 땅을 떠난 적이없는 조종사가 지휘하는 비행기에 편하게 탑승 하시겠습니까?
결론은 배송 전에 사용자가 사용하는 것과 동일한 장치를 사용하십시오. 그들 중 누구도 시뮬레이터를 사용하지 않을 것입니다.
실용적인 이유 :
1) "메일 보내기"기능이 없습니다.
2) 기기를 뒤집어 놓을 수 없습니다.
그리고 물론 이미 말한 이유 :
3) 낮은 대역폭
4) 시뮬레이터에 비해 매우 작은 계산 능력
5) Open GL 통화는 시뮬레이터에서 약간 다르게 구현됩니다.
6) 디스크 공간 / RAM
하드웨어 성능이 일반적으로 나쁜 것으로 언급되었지만 OpenGL ES에서는 그렇지 않습니다. 시뮬레이터는 소프트웨어로 구현하므로 성능이 크게 향상 되는 경우는 드물지 않습니다. 장치 자체에서 실행되는 동안 되는 .
또한 Open GL ES의 소프트웨어와 하드웨어 구현간에 약간의 차이가 있습니다. 예를 들어 쉐이더 정밀도 힌트는 다른 출력을 가질 수 있습니다.
실제 장치와 에뮬레이터간에 실제 성능 차이가있을 수 있습니다. 우리는 에뮬레이터를 사용한 테스트 만 많은 경우에 응용 프로그램 속도가 매우 느리다는 것을 알았습니다.