Testing, Testing & Testing: QA Doesn't Make Software But Makes It Better
Testing, Testing & Testing: QA Doesn't Make Software But Makes It Better
1
Non Functional Testing
In non-functional testing the quality characteristics of the
component or system is tested.
1 2
Functionality testing
Functionality testing is performed to verify that a software application
performs and functions correctly according to design specifications
It can serve different purposes like it can demonstrate that the system
meets performance criteria.
1 5
Load Testing
1 6
E.g. If the number of users are in creased then how much CPU,
memory will be consumed, what is the network and bandwidth
response time
The automated script is executed to verify the Load testing for the
Software. Here the quantity of users can be increased or decreased
concurrently or incrementally based upon the requirements..
1 7
Stress Testing
In Stress Testing , test the Software behavior under abnormal conditions,
beyond normal operational capacity repeatedly to a breaking point, in order
to observe the results.
It is a form of testing that is used to determine the stability of a given
system.
When the load placed on the system is accelerated beyond normal usage
patterns, in order to test the system's response at unusually high or peak
loads, it is known as stress testing.
Stress testing is often incorrectly used interchangeably with load and
performance testing.
1 8
Stress Testing
The main intent is to test the Software by applying the load to the
system and taking over the resources used by the Software to
identify the breaking point.
Note :The goals of such tests to ensure the software does not crash
in conditions of insufficient computational resources
.
1 9
Volume Testing
In volume testing test the application or the product with a certain
amount of data ie Subjecting the program to heavy volumes of data
1 10
Soak Testing
Soak testing occurs when running a system at normal to high levels of
load for prolonged periods of time.
1 11
Usability Testing
Usability testing evaluates how easy a system is to learn and use.
It is a black box technique and is used to identify any error(s) and
improvements in the Software by observing the users through their
usage and operation.
On the other hand GUI is designed and is easy to use for the end user. UI
testing can be considered as a sub part of Usability testing.
1 13
Security Testing
Security testing involves the testing of Software in order to
identify any flaws ad gaps from security
Security testing done to check whether the application or the
product is secured or not.
It checks to see if the application is weak( unprotected) to
attacks, if anyone hack the system or login to the application
without any authorization.
It is a process to determine that an information system protects
data and maintains functionality as intended.
The security testing is performed to check whether there is any
information leakage in the sense by encrypting the application or
using wide range of software’s and hardware’s and firewall etc..
1 14
Security Testing
Following are the main aspects which Security testing should ensure
Confidentiality,
Integrity
Confidentiality.
Authentication.
Availability.
Authorization.
Software is secure against known and unknown condition.
Software data is secure.
Software is according to all security regulations.
Input checking and validation.
SQL insertion attacks.
1 15
Compatibility Testing
In Compatibility testing is done to ensure compatibility of the
system/application/website built with the computing environment.
•operating technique,
•database,
• browser compatibility,
• backward compatibility,
•the computing capacity of the hardware platform .
This type of testing helps to find out how well a system performs in a
particular environment that includes hardware, network, operating system
and other software etc.
Example:
If compatibility testing is performed in a game application before
installing a game on a computer, it checks its compatibility with the
specification of the computer if your computer supports that much of the
specification or not 1 16
Scalability Testing
In scalability testing the application is test to check the ability of a
system, a network, or a process to continue to function well, when it is
changed in size or volume in order to meet the continuous deployment,
continuously test and check how recent changes may impact scalability of the
application.
1 18
Portability Testing
In portability testing , verify how easily the application can be
moved from one environment to another and results are measured in
terms of the time required to move the application.
1 20
Maintainability Testing
Maintainability testing done to check the maintainability requirements of
the software/system.
The maintainability testing is specified in terms of the effort required to
effect a change under each of the following four categories:
Corrective maintenance - Correcting problems. The maintainability of a
system can be measured in terms of the time taken to diagnose and fix
problems identified within that system
Perfective maintenance - The maintainability of a system can also be
measured in terms of the effort taken to make required enhancements to
that system. This can be tested by recording the time taken to achieve a
new piece of identifiable functionality such as a change to the database, etc
Adaptive maintenance - Adapting to changes in environment. The
maintainability of a system can also be measured in terms on the effort
required to make required adaptations to that system. This can be measured
in the way described above for perfective maintainability testing.
Preventive maintenance - Actions to reduce future maintenance costs.
1 21
This refers to actions to reduce future maintenance costs.