B) Non Functional Testing

Non-functional testing is a type of testing to check non-functional aspects (performance, usability, reliability, etc.) of a software application. It is basically performed to check how good a software functions. It is explicitly designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.

Types of Non-Functional Testing are:

a) Automation Testing

Automation testing is performed by using automation testing tools/software or by writing test scripts to test and compare the actual outcome v/s the expected outcome. There are times when a test is to be performed on repetitive tasks that are difficult to test manually. As compared to manual testing, automation testing is more error proof and fast. It also helps increase Test Coverage. Software Test Automation demands considerable investments of money and resources.

Scenarios suitable for Automation Testing:

  • Business scenarios that are at higher risk.

  • Complex Software solution needs automation testing.

  • Test cases that needs to be repeatedly executed.

  • Test Cases that are repetitive in nature.

  • Test Cases that are very difficult to perform manually.

  • Test Cases which are time consuming.

Scenarios that are not suitable for Automation Testing:

  • Newly designed software.

  • Test case scenario where requirements are dynamic in nature.

  • Test cases which are executed on an ad-hoc basis.

typed testing

Automation Testing Process:

1. Feasibility Analysis

Make sure if the application is suitable for automation testing or not. Not all applications can be automated due to the limitations of functionality.

2. Tool Selection

In this step, suitable tools are selected, depending upon the technology in which the application was built, the features involved and usability it provides.

3. Select the suitable Framework

This stage the suitable framework design and its features are selected.

4. Create Proof of Concept

POC is developed considering end-to-end scenarios to evaluate if the tool can support the automation of the application. It is performed with an end-to-end scenario, to ensure that the major functionalities can be automated.

5. Build Automation Framework

Framework is built after diligently analysing the technology used by the application and also its key features.

6. Develop Test Script, Execute, and Analyze

In this stage the Script is developed & executed, results are analyzed and defects are logged.

b) Mobile Testing

It is the process of testing various aspects of mobile functions like-usability, features, functionality, flow and consistency. Mobile testing can be done automatically and manually. The major purpose of conducting mobile testing is to make sure it suffices for the purpose it is built.

Types of Mobile Testing:

1. Mobile Functional Testing:

Functional Testing involves: Business flows, UI testing (landscape/portrait, languages etc.) and Cross-platform coverage.

2. Mobile Performance Testing

3. Mobile Security Testing

4. Mobile Usability Testing

5. Mobile Accessibility Testing

Our Mobile App Testing Capabilities:

  • We conduct test optimization on the basis of mobile device market penetration.

  • We own a set of trained mobile app testers with experience in functional, usability and security testing.

  • We provide mobile application testing services across a wide set of popular devices and mobile operating system.

c) GlobalizationTesting

Globalization testing is done to ensure that the software is up to the mark to global standards and is readily available in all the required languages. We own significant globalization testing experience in Agile development cycles.

d) Performance Testing

It is a process of testing the performance of the software application in terms of- speed, stability, response time, reliability and scalability. Performance test increases the performance and scalability levels of business’s mission critical applications.

typed testing

Types of Performance Testing:

1. Load testing

Load testing is conducted to check the workload bearing capacity of the software. Workload here means concurrent users or transactions.

2. Stress testing

Stress testing is done to measure the performance of the software from a stress bearing capacity and stability point of view, where software is given more users or transactions that can be handled.

3. Endurance testing/soak testing

A non-functional testing method to check software problems like memory leaks, which can harm it’s performance. In endurance testing a significant load is extended over a significant or longer period of time, to discover how the software application behaves under sustained use.

4. Spike testing

Like stress testing, Spike Testing is done to test how a software application reacts when there is an unpredicted change in user load. It determines the behavior of a software application when it receives extreme variations in load traffic. An e-commerce site must be spike tested before an upcoming seasonal offers.

5. Volume testing/flood testing

In Volume testing software application is subjected to a huge volume of data to check the capacity of the database. This is suitable for applications that involve financial transactions on a day to day basis like banking and shopping apps.

6. Scalability testing

Scalability testing is a non-functional testing method in which the performance of a software application is measured by increasing or decreasing the load in particular scale by either scaling up or scale down the number of user requests or other such performance measure attributes. There are two types of scalability testing: Upwards scalability testing and Downward scalability testing.

e) Accessibility Testing

Web/App accessibility testing is done with a motive to make the particular website or application accessible to everyone who wants to use it.There are various laws that states that certain websites should made accessible to people with disabilities at workplace or public places (Americans with disabilities act, Rehabilitation Act, sections-504 & 508 and Web content accessibility guidelines: These guidelines suggest the ways that can help to improve the accessibility of a website).

f) Usability Testing

Usability testing is conducted to test the user experience that an application provides to the user. Any applications must be created with a mission that it must achieve along with ease of operation. The level of skill sets required to learn/use the software must maintain a balance for both a new user and an expert user.

g) Security Testing

Security testing is conducted to prevent a software application from malicious activities, vulnerabilities, threats, risks etc. It helps in protecting data, loss of information & revenue of the user company from being accessed and used by frauds.

Tips for Developers to Avoid Mobile Application Security Pitfalls:

Types of security testing:

  • Vulnerability Scanning

  • Security Scanning

  • Penetration testing

  • Risk Assessment

  • Security Auditing

  • Ethical hacking

  • Posture Assessment