10
Non Functional Testing An overview

Non Functional Testing_Sampath kumar Mohan

Embed Size (px)

Citation preview

Page 1: Non Functional Testing_Sampath kumar Mohan

Non Functional Testing

An overview

Page 2: Non Functional Testing_Sampath kumar Mohan

Content:1. Overview 2. Functional & Non Functional Testing3. Usability Testing4. Performance Testing5. Compatibility Testing6. Security Testing

Page 3: Non Functional Testing_Sampath kumar Mohan

Overview: Functional Testing

Functional Testing: Testing the application against business requirements. Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team.

Functional Testing covers:

Unit Testing

Smoke testing / Sanity testing

Integration Testing (Top Down,Bottom up Testing)

Interface Testing

System Testing

Regression Testing

Pre User Acceptance Testing(Alpha & Beta)

User Acceptance Testing

White Box & Black Box Testing

Globalization & Localization Testing

Page 4: Non Functional Testing_Sampath kumar Mohan

Overview: Non Functional TestingNon-Functional Testing: Testing the application against client's and performance requirement. Non-

Functioning testing is done based on the requirements and test scenarios defined by the client.

Non-Functional Testing covers:

Usability Testing

Performance Testing

Compatibility Testing

Security / Penetration Testing

Recovery Testing

Data Conversion & Migration Testing

Operational Readiness Testing

Installation Testing

Ergonomic Testing

Page 5: Non Functional Testing_Sampath kumar Mohan

Usability Testing: Classic non-testable requirement: "System must be user-friendly."

Usability testing evaluates how easy a system is to learn and use.

Benefits:

Its easier for sales team to sell a highly usable product.

Usable products are easy to learn and use.

Support cost is less for Usable products.

According to the ISO definition usability is the extent to which a product can be used by specified user to achieve specified goal with effectiveness, efficiency and satisfaction in a specified context of use.

Qualitative Approach:

Each and every function should available from all the pages of the site.

User should able to submit each and every request with in 4-5 actions.

Confirmation message should be displayed for each and every submit.

Quantitative Approach:

Heuristic Checklist should be prepared with all the general test cases that fall under the classification of checking.

This generic test cases should be given to 10 different people and ask to execute the system to mark the pass/fail status. The average of 10 different people should be considered as the final result.

Page 6: Non Functional Testing_Sampath kumar Mohan

Heuristic Evaluation – User Testing method, Assessing a product in order to identify usability problems

> Visibility of system status> Match between system and the real world> User control and freedom> Consistency and standards> Error prevention> Recognition rather than recall> Flexibility and Ease of Use> Aesthetic & minimalist design> Help and documentation> Help users recognise, diagnose & recover from errors

Page 7: Non Functional Testing_Sampath kumar Mohan

Performance Testing:Performance Testing: Testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. The goal of performance testing is not to find bugs but to eliminate performance bottlenecks.

Focus of Performance testing is:

Speed – Determines whether the application responds quickly.

Stability – Determines if the application is stable under varying loads.

Scalability – Determines maximum user load the software application can handle.

Performance Testing to uncovers what needs to be improved before the product goes to market. Without performance testing application will suffer running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability.

Common Performance Problems:

Long Load time

Poor response time

Poor scalability

Bottlenecking

CPU, Memory, Network utilization,

Operating System limitations, Disk usage

Page 8: Non Functional Testing_Sampath kumar Mohan

Type's of Performance Testing:Load testing: A load test is usually conducted to understand the behaviour of the system under a specific

expected load. This load can be the expected concurrent number of users on the application performing a specific number of transaction within the set duration. This test will give out the response times of all the important business critical transactions.

Stress Testing: Stress Testing is normally used to understand the upper limits of capacity within the system. This kind of test is done to determine the system's robustness in terms of extreme load and helps application administrators to determine if the system will perform sufficiently if the current load goes well above the expected maximum.

Endurance Testing: Endurance Testing is usually done to determine if the system can sustain the continuous expected load.

Spike testing: Spike testing is done by suddenly increasing the number of or load generated by, users by a very large amount and observing the behaviour of the system. The goal is to determine whether performance will suffer, the system will fail, or it will be able to handle dramatic changes in load.

Configuration testing: Configuration testing Rather than testing for performance from the perspective of load, tests are created to determine the effects of configuration changes to the system's components on the system's performance and behaviour.

Isolation testing: Isolation testing is not unique to performance testing but a term used to describe repeating a test execution that resulted in a system problem. Often used to isolate and confirm the fault domain.

Page 9: Non Functional Testing_Sampath kumar Mohan

Performance Testing Process:

Demonstrate that your software system meets certain pre-defined performance criteria.

1.Identify your testing environment

2.Identify the performance acceptance criteria

3.Plan & design performance tests

4.Configuring the test environment

5.Implement test design

6.Run the tests

7.Analyze, tune and retest

Page 10: Non Functional Testing_Sampath kumar Mohan

Thanks You

Sampath kumar Mohan