Software Testing Types
Software Testing Types
Functional Testing
Functional testing often uses black box techniques and test cases based on the specifications to check whether the software meets the client’s requirements. The following checks help.
- Understand exactly what the application is expected to do.
- Prepare suitable test data, including valid and invalid inputs.
- Check the output for that data against the functional specification.
- Cover the required scenarios and prioritize the highest risks. Testing every possible scenario is rarely practical.
- Record the actual result for each input and compare it with the expected output.
Use functional checks at different test levels and after changes.
- Unit Testing
- Integration Testing
- System Testing
- Regression Testing
- Acceptance Testing
Performance, security and user-interface quality are important non-functional requirements. Non-functional testing checks these attributes. Its main types include:
- Performance Testing
- Usability Testing
- Security Testing
- Portability Testing
Usability testing checks how easy the software is to use. This black box approach asks three questions: Is it convenient? Can the user operate it? Can the user learn it? Usability includes these aspects:
- How easily users adapt when they first try the system.
- How efficiently users accomplish tasks, including the speed of completion.
- How easily users can return to the system after a long period away.
- Whether users encounter errors and how easily they recover.
- Whether the experience satisfies users.
Graphical User Interface Testing
Graphical user interface (GUI) testing checks that the interface works correctly and meets defined quality standards. Check the following elements:
- Layout
- Colors
- Fonts
- Font size
- Labels
- Text box functions
- Text formatting
- Captions
- Buttons
- Lists
- Icons
- Links
- Content
- Shortcut keys
- The processing indicator, such as an hourglass, while the system works
The graphical user interface defines an application’s look and feel. Non-GUI testing covers interactions outside that visual interface, including command-line interfaces, batch processes and events that trigger use cases.
Portability TestingPortability testing checks how a change of environment affects software behavior and performance. For example, test an application on different operating systems, or a web application in different browsers. This matters when the customer intends to use more than one platform.
Portability testing is a subset of system testing. Install the software in different environments, or build and run its executables on different platforms. Consider portability requirements during design and development. Carry out this testing after integration testing, using suitable test environments.
Security, Authentication And Authorization TestingSecurity testing looks for security flaws and checks that software can protect confidential customer information when needed. Authentication and authorization are two important areas.
Authentication checks the identity of someone trying to access the application. A username and password are one example. If the combination is incorrect, access is denied because the claimed identity has not been verified.
Authorization controls access to restricted data, features and use cases. Passing authentication does not grant access to everything. For example, signing in to a social media account gives you access to that account’s details, not unrestricted access to other people’s accounts.
Security testing also covers confidentiality, integrity, availability, non-repudiation, data security, SQL injection, cross-site scripting and other security concerns. This is a specialist field in its own right.
Data And Database Integrity TestingData integrity testing checks that stored data is accurate and produces the expected results. Check whether blank data can be retrieved, whether data is validated before it is saved, whether stored data can be updated and whether tests cover the required data-file types. The goal is accurate, consistent data throughout its life cycle.
Database integrity testing checks the methods and processes used to access the database, manage data and process it. Data must not be corrupted or created, updated or deleted unintentionally. Include test cases for each of these conditions.
Fault Tolerance And Failover TestingFault tolerance testing checks how an application responds to faults in real-world conditions. Scenarios include network connection errors, application-server connection problems and database connection failures.
Failover testing checks whether the system switches to a standby component or service after a severe failure, such as a hardware fault or crash. Check that critical work can continue during the switch. Recovery tests can then check whether the original service returns to the expected state.
Configuration and Deployment TestingConfiguration testing checks performance under different system configurations. It helps determine response times in the test environment and the configuration needed for expected performance. It also supports migration between platforms by checking compatibility with the new environment and its hardware specifications.
Deployment testing checks that the deployed system works properly. Look for slow performance or crashes, check operation in real-world conditions, and verify that the software is deployed correctly in the intended folder.
Regression TestingSend detected defects for correction. Confirm that the fix resolves the original problem. Then run regression tests to look for unwanted effects in the changed area, elsewhere in the application, or in business logic. Use the results to decide whether the software is ready for the next testing phase.
Performance TestingPerformance testing investigates network delays, data rendering, database transaction processing and load balancing between servers. Its focus is performance problems, rather than only defects in individual software functions. Use it to assess stability, scalability, speed, response times and data rendering.
Load Testing And Performance BenchmarkingLoad testing checks software behavior under maximum or peak load. Tools such as JMeter, LoadRunner and Silk Performer create virtual users and run scripts to simulate concurrent access. The tester controls the number of virtual users and observes the system’s behavior.
Stress TestingStress testing deliberately creates abnormal conditions and observes performance. Apply loads beyond acceptable limits or withdraw resources to find the point at which the software fails. Examples include stopping and restarting a database, randomly closing or restarting network ports, and running processes that consume large amounts of resources.
| Testing Type | Unit Testing | Integration Testing | System Testing | Acceptance Testing |
|---|---|---|---|---|
| Functional Testing | Yes | Yes | Yes | Yes |
| Configuration Testing | No | No | Yes | Yes |
| User Interface Testing | No | No | Yes | Yes |
| Usability Testing | No | No | Yes | Yes |
| Installation Testing | No | No | Yes | Yes |
| Document Testing | Yes | Yes | Yes | Yes |
| Performance Testing | Yes | Yes | Yes | Yes |
| Security Testing | No | Yes | Yes | Yes |
| Scalability Testing | No | Yes | Yes | No |
Software Testing Types Summary
We guarantee that your free online training will make you pass your Software Testing Certification Exam!
- 01
Register Online
Choose your Accredited certification and complete your registration.
- 02
Receive Your Access Code
Your personal exam access code is delivered instantly by email.
- 03
Prepare & Take Your Exam
Study your free training and answer your 50 multiple-choice questions online.
- 04
Earn Your Lifetime Credential
Receive your worldwide-valid certificate and verifiable digital badge.
YOUR FREE PREMIUM ONLINE TRAINING
Your Software Testing Revealed, Second Edition, Is Ready.
We created your training with a consortium of renowned business and people leaders, software testing coaches, mentors, experts and authorities from all major industries. Everyone visiting International Software Test Institute™ can access it. Find the materials through Your Free Software Testing Book and Your Free Premium Software Testing Training in the top menu.
These materials are the copyrighted intellectual property of International Software Test Institute™. We share them freely with everyone because sharing our expertise serves software testing professionals and helps the field develop.
Your certification examination uses multiple-choice questions. Read your online training to build the knowledge you need to pass your examination and earn your Software Testing Certification.
We guarantee that your free premium online training will make you pass your Software Testing Certification Exam!
