In the current world, we have multiple choices to view any application. If we want to go through any website on a large screen, we can view it on a desktop. On the other hand, if we don’t want to spend our time to open desktop and view the website via the browser, we can simply open the website on our Smartphone browser that makes easy for us to go through any website and get the details. One step ahead in that technology era! Now we have native apps as well to get through any information from the internet.
Types of Application and Application Testing
In this discussion, we will discuss the types of application we have. And the point of view of Software testing services there is a difference in approaches to test those different types of application.
Let’s first discuss the types of application. So basically there are 3 types of application.
- Web Application
- Mobile Application
- Desktop Application
An Image to understand it in better way by ScienceSoft
The web application that runs within a browser! This is the application which entirely resides on the server and to access the application, we need a platform i.e. browser.
Taking an example of one of the applications is Facebook which is ultimately a package of multiple corresponding pages which runs on a browser. A web application is being used on various devices i.e. mobile, tablet and desktop with the different configuration which is only limited to web-browser and internet connectivity. If the application is compatible across the screen resolutions, you can view and access your application very efficiently.
In the mobile application we have
- Native Application
- Mobile web Application
- Hybrid Application
Native Application is an application which is built to run independently on mobile devices. Native apps do not require any base like a browser to run on a device. Commonly nowadays we have 2 platforms either iOS or Android and there is a small bunch of users on windows mobile as well as Blackberry which is gradually decreasing in quantity as majorly market is taken care by iOS and Android mobile operating systems. A small example of a native mobile app is an SMS app or in terms of installable apps is Temple Run.
Basically, an app built up for a particular system like iOS, Android etc, and that cannot be used on other than their own platform. One of the major advantages of native apps is Native apps are high in performance and ensures good user experience and easy to achieve targets of an end user. And some of the cons of Native apps are higher cost. To create native apps, it is high in cost to build as compared to other types of application.
Mobile Web Application
Mobile web application is just a web application which we run on a mobile browser and access the application view browser in mobile devices. For accessing the mobile web application, you just need mobile device have a web browser installed in it and your mobile should be connected with the internet.
A hybrid application is an application which builds on different technology as compared to native apps, look and feel remain almost the same. The difference occurs in the performance of the application where you can experience the slowness while accessing the hybrid application
An application which runs on the computer is basically its own environment and configuration. This application is an executable file which you have to execute it on a computer to view its content and access the application. In terms of testing the desktop application, you need to be focused broadly on UI and a functional layer, as well as Load/Performance, plays an important role here. You have to focus on system hardware part as well. For example, how much memory consumption is there when running your application and what is the status of your RAM consumption.
Now the point occurred when coming to the software testing profession, what makes the difference between testing of mobile application and web application testing.
Difference between Mobile App Testing and Web Application Testing
Mobile App Testing:
When testing the mobile application, there are many constraints which you need to look at while testing. User experience is one of the major assets in your application. Your application may be the bug-free but if the user experience is not good, that does not worth. Some of the major areas we have to look into mobile app testing which does not make much importance in web application testing.
- Installation/Un-installation testing: This kind of testing you can cover in smoke testing. You need to make sure that you can be able to install and uninstall the application in all supportive devices and application is useful and not having any upfront crashing. You have to also make sure that when you uninstall the application, your app folder should also get deleted from the file manager when working with Android operating system.
- Network Testing: You need to be very sure about the application’s network performance. You need to test your application in all aspects like in 4G, 3G, Wi-Fi, and edge. Apply prevention checks on all required and security concerning modules that in a low network or no network, avoid fatal errors.
- Device Compatibility: Your application should be compatible with all kind of operating systems versions and device screen resolutions. For example, if you have an iOS application, the application should work appropriately on all supportive iPhone, iPad and with minimum supportive iOS version to the latest available iOS version.
- Memory Testing: In your testing, memory is one of the major aspects where most the application lacking in the industry. We have to be aware of the memory leaks and RAM consumption from your application. And also make sure to reduce app size as lower as possible.
Watch a Video on Mobile Testing by QA-Eversity
Native and hybrid apps testing
Native and hybrid apps may be built on different technologies but they serve almost similar features. Testing approach for both the application would be the same as both supports mobile platforms.
Installation testing: Both the application needs to be tested on the basis of installation as both are the installable file in devices.
When talking about the next step in testing, we just follow the testing approach suitable for mobile application as below:
- User interface testing
- Functional testing
- Compatibility testing
- Network testing
- Interruptions testing
- Performance testing
- Notification testing
- Gesture testing
- Memory leaks check
Web Application Testing
- Cross browser testing and Compatibility Testing: For a web application, you have to ensure that your application having expected look and feel on all supportive browsers with has combinations of different operating systems. In parallel, you have to also make sure that the application should have the same look and feel in shorter screen resolution devices like mobile and tablets as well.
- Security Testing & Link checks: In terms of security testing, you have to make sure about the user session is working as expected but longer time duration. Your application must have broken links free. There are many online tools available that are too open source. You can use them to check the broken links in your application. Identify the broken links and try to avoid them.
- Cookies Testing: There are small files getting stores in your temporary folder that are called cookies which are used to maintain the user session of your application. You have to ensure the functionality by checking in both ways i.e. on and off cookies in your browser settings.
These are few points which need to be taken care during web application testing. These are the additional testing but by covering these points don’t forget to follow the testing life cycle and testing process which covers all required testing types in the Quality Cycle.