a) Functional Testing: The functional testing of any app
consist of the implementation of the required functionality for the
implementation of a mobile app. It consist of three sub-characteristics which
lead to different types of tests like Completeness of all required
functionality, Accuracy of data processed by application and Suitability of
application for the intended use.
It also take
cares of synchronization and resource sharing to avoid conflicts and deadlocks
when we work with client server architecture applications.
b) Security Testing: In security testing the
encryption/decryption technique of application is taken into account with the
facility that sensitive should store on device should always appear in
encrypted form and if application require that data for verification only then
it should not store data like passwords/PIN codes.
We also
verify that when working with multi user support application that in
simultaneous transactions or requests that data should not interfere with each
other.
The app has
to be resistant against threats like listed in Microsoft’s “STRIDE” model (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege)
If
application supports payment transitions than it must confer with Payment Card
Industry Data Security Standard (PCI DSS) and Payment Application Data Security
Standard (PA DSS) guidelines.
c) Performance Testing: User expectations in the speed of a
mobile app is often higher than that in a comparable desktop application, the
hardware is less powerful than a desktop PC, this leads to a high demand for
performance optimization. The performance of application can vary because of
bandwidth and latency of the data network affect the speed of data transfer and
delays in the app sending and receiving data, for client-server or cloud apps,
the performance of the server also influences the performance of the app and
performance of the device itself limits the execution speed of the app code.
d) Usability Testing: This
includes text visibility in the selected language, navigation between screens, and verification of
functionality, Clear UI
design, memorable navigation paths and transparency of the app state are
fundamentals for good usability.
e) Compatibility Testing: This entails validating the
application for different mobile devices, OS versions, screen sizes, and
resolutions as per the requirements, checking if integration
server changes, checking the
app isolation with other apps on the device.
f) Marketplace guidelines compliance
Testing: Depending
on the App Store Provider, an app has to pass certain release checks before
being published. Minimal review procedures cover malware checks and identity
verification of the developer. Other stores, like e.g. the Apple AppStore,
provide extensive rule sets of checkpoints to be adhered to.
It must be
integral part of a mobile development and test strategy to early test for these
checkpoints in order to minimize the risk of rejection by the store review
team.
g) Robustness Testing: The application should have ability
to handle wrong input, low memory, interrupt by incoming calls or messages,
sending the app to the background and then launching app, using application in
low memory scenarios & should give proper message as and when required,
power off/battery drainage which leads to turning off the device while using app etc.
h) Localization Testing: The application should have ability
to work with different language settings and application should work fine in
different date formats, different phone number formatting etc
Great post & clear explanation on Functional testing
ReplyDeleteVery nice and interesting post. I have even framed few points on mobile app testing. Hope you would like it - http://bit.ly/1M3TSwx
ReplyDelete