2013-01-16 14 views
9

Muszę wykonać testy wydajności natywnych aplikacji na platformach iOS i Android. Obecne wymagania z narzędzia są:Narzędzia do testowania wydajności dla natywnych aplikacji mobilnych w iOS i Androidzie

- The tool needs to check for the native applications CPU and memory usage. 
- If possible, we need to provide if there are any memory leaks also involved with the native application. 
- Check for network performance over the various networks - EDGE, 2G, 3G, 4G and wireless connections (various speeds). 
- If we can do Functional testing with the same application, it would be a great addition. 

co udało mi się dowiedzieć, to:

1. UI Response Time 
◦ Download times for intermediate action requests (patch or network downloads), to be reduced with better compression techniques 
◦ User action and response rates of the application, need to be smoothened by employing better software rendering and faster animations 
◦ Provide a progress indicator to the user, along with completion notification 
2. Battery Life 
◦ Battery drain is non-linear, so minimize radio wake-up calls and 
◦ Use system events, instead of polling 
3. Network Bandwidth 
◦ Basically depends on - signal strength, carrier networks and network type (performance can be considered for slower networks, but no guarantee on the faster 2G & above). 
◦ Faster networks need to be checked basically for the functionality 
4. Memory and CPU 
◦ Overall device sluggishness needs to be monitored with respect to the response of the various actions. This can only be monitored by running the functional tests, and checking the actual RAM and CPU counters using a recording tool. 
◦ No application crashes should be seen, even after keeping the application open for a few days. 
5. Binary Size 
◦ Effects application load time 
◦ Effects load RAM size 
◦ Download & install times 
6. Tools 
◦ http://spb.com/pocketpc-software/wirelessmonitor/ 
◦ http://mobitest.akamai.com/m/index.cgi 
◦ http://www.neotys.com/product/mobile-load-testing.html 

Moje pytanie brzmi, czy są jakieś inne parametry, które możemy dodać do powyższego, aby przetestować wydajność natywnej aplikacji?

Jakie inne narzędzia Open Source i komercyjne zaproponowałbyś, spełniając wszystkie powyższe kryteria testowania wydajności natywnej aplikacji mobilnej na platformach iOS, Android i WindowsOS?

Odpowiedz

2

To bardzo obszerny zapis, jeśli chodzi o testowanie wydajności aplikacji mobilnych. Mam kilka małych rzeczy do dodania: Odnośnie pamięci: 1. Prawdopodobnie chciałbyś monitorować zużycie pamięci szczytowej w dowolnym momencie. Jest to szczególnie ważne na Androida, ponieważ dostępna pamięć dla aplikacji może w rzeczywistości różnić się w zależności od urządzenia. I dlatego, nawet jeśli nie może powodować problemów na urządzeniu, na którym przeprowadzany jest test, może to powodować problemy na innym urządzeniu niższego rzędu.

  1. W podobnym duchu, pewnie również chcą monitorować kolekcje śmieci dzieje i ile są współbieżne i ile są oparte Alloc GC. Ponieważ gc może potencjalnie wpływać na czasy reakcji aplikacji, szczególnie jeśli jest to spowodowane alokacją.

Jeśli chodzi o czas pracy na baterii: 1. Możesz sprawdzić, czy wszelkie wakelokacje nabyte przez aplikację są natychmiast zwalniane. 2. Aplikacja korzysta z niedokładnych timerów w jak największym stopniu, zamiast dokładnych timerów (np. Użyj metody setInexactRepeating zamiast metody setRepeating w AlarmManager).

Inne kryterium: 1. Sprawdź, czy aplikacja odpowiednio buforuje dane - nie odświeżając zawartości, która już istnieje, gdy na przykład zmieni się orientacja ekranu. 2. A nawet lepsze aplikacje mogą w rzeczywistości warunkować zużycie danych w zależności od rodzaju podłączonej sieci - oszaleć i wstępnie pobrać rzeczy, jeśli są podłączone do sieci Wi-Fi, ale pobierają nieco mniej agresywnie, jeśli są połączone na danych komórkowych.

Mam nadzieję, że to pomoże.

Powiązane problemy