Test Approaches. Test Level. Test Types - 2023
Test Approaches. Test Level. Test Types - 2023
TEST LEVELS
TEST TYPES
SoftServe Confidential
Agenda
• Test Approaches
• Test Types by Test Levels
• Test Types by Test Objectives
• Testing Order
SoftServe Confidential
Test Types
Acceptance Black Box Conformance
Security
Grey Box
Internationalization
Performance Load
Usability
System GUI Beta
Stress
Functional White Box Ad-hoc
Compatibility
Sanity
Exploratory Integration
Unit
Recovery Smoke Capacity
Error-Handling
Regression Alpha
Install/uninstall
Negative
Localization Confirmation
SoftServe Confidential
TEST APPROACHES
SoftServe Confidential
Test Approaches
• Proactive and Reactive
• Manual and Automated
• Verification and Validation
• Positive and Negative
• Black-box, White-box and Grey-box
• Scripted and Unscripted
• Collaboration-based Test Approaches
SoftServe Confidential
Less reliable: Manual testing is less reliable as tests may not be More reliable: Automation tests perform precisely same
performed with precision each time because of human errors. operation each time they are run.
Self-contained: Manual testing can be performed and completed Not self-contained: Automation can’t be done without manual
manually and provide self-contained results. testing. You have to manually check the automated test results.
Implicit: Implicit knowledge are used to judge whether or not Explicit: Automated tests execute consistently as they don’t get
something is working as expected. This enables engineer to find tired and/or lazy like us humans.
extra bugs that automated tests would never find.
SoftServe Confidential
Unscripted testing
Exploratory testing Ad-hoc testing
Test Levels
SoftServe Confidential
Component (Unit)
SoftServe Confidential
Component level
Testing on the Component Test Level is called
Acceptance Component (Unit, Module) testing
Component (Unit)
SoftServe Confidential
Component testing
Examples of a test basis: Typical test objects for component testing include:
• Detailed design • Components, units or modules
• Code • Code and data structures
• Data model • Classes
• Component specifications • Database modules
Component (Unit)
SoftServe Confidential
System level
Testing on the System Test Level
Acceptance is called System testing
Component (Unit)
SoftServe Confidential
System testing
Examples of a test basis: Typical defects
• System and SRS • Incorrect calculations
• Risk analysis reports • Incorrect or unexpected system functional or non-
• Use cases functional behavior
• Epics and user stories • Incorrect control and/or data flows within the system
• State diagrams • Failure of the system to work properly in the production
environment(s)
• Failure of the system to work as described in system and
Test objects: user manuals
• Applications
• Hardware/software systems
• Operating systems
• System under test (SUT)
• System configuration and
configuration data
SoftServe Confidential
Component (Unit)
SoftServe Confidential
Acceptance level
Testing on the Acceptance Test Level is called
Acceptance Acceptance testing
Component (Unit)
SoftServe Confidential
Acceptance testing
Examples of a test basis: Test objects:
• Business processes • System under test
• User or business • System configuration and configuration data
requirements • Business processes for a fully integrated system
• Regulations, legal • Recovery systems and hot sites
contracts and • Operational and maintenance processes
standards • Forms
• Use cases • Reports
• Installation procedures • Existing and converted production data
• Risk analysis reports
Typical defects
• System workflows do not meet business or user requirements
• Business rules are not implemented correctly
• System does not satisfy contractual or regulatory requirements
• Non-functional failures such as security vulnerabilities, inadequate performance
efficiency under high loads, or improper operation on a supported platform
SoftServe Confidential
Acceptance Testing
Common forms of acceptance testing include the following:
• User acceptance testing
• Operational acceptance testing
• Contractual and regulatory acceptance testing
• Alpha and beta testing
TEST TYPES BY
TEST OBJECTIVES
SoftServe Confidential
Test objectives
Testing of function
(Functional testing) According to ISO 25010 the main objective of
Functional testing is:
Testing of software product • Functional completeness
characteristics • Functional correctness
(Non-functional testing)
• Functional appropriateness
Confirmation and
Regression testing
SoftServe Confidential
Non-functional testing
• Performance efficiency: Time behavior, Resource utilization, Capacity.
• Compatibility: Co-existence, Interoperability.
• Usability: Appropriateness recognizability, Learnability, Operability, User error
protection, User interface aesthetics, Accessibility.
• Reliability: maturity (robustness), fault-tolerance, recoverability and availability.
• Security: Confidentiality, Integrity, Non-repudiation, Accountability, Authenticity.
• Maintainability: Modularity, Reusability, Analysability, Modifiability and Testability.
• Portability: Adaptability, Installability and Replaceability.
SoftServe Confidential
Non-functional testing: UI
UI Testing: The testing a product's graphical user interface to ensure it
meets its written specifications
Check if any UI recommendations exist for the application type your team
develop. Make sure dialogs you test comply with these recommendations.
SoftServe Confidential
Purposes:
• demonstrate that the system meets performance criteria;
Performance Testing Procedure: check response time of the server with 100 and
300 users at the same time.
Load Testing Procedure: emulate different amount of requests to server close to pick
value, for instance, measure time for 400, 450, 500 concurrent users. Verify that the server
is able to respond correctly with the maximum number of users.
Stress Testing Procedure: emulate amount of requests to server greater than pick value,
for instance, check system behavior for 501, 510, and 550 concurrent users. Verify that
`500+` users get appropriate error message from server. (e.g. `an error occurred, please
try again later`) The server should not crash due to overload.
Defect: Server crashes starting from 500 concurrent requests and user’s data is lost.
Data should not be lost even in stress situations. If possible, system crash also should be
avoided.
SoftServe Confidential
Defects:
• “Password you have entered does not exist in the system” message is truncated on
German Locale;
• “Login” label is not translated and still appears in English under German locale.
SoftServe Confidential
Defect:
Sorting performs incorrectly: all names which start from special characters (e.g.: “ü”, “ß”
etc) are always listed at the end of the sorted column. Instead they should be sorted with
all other characters (e.g.: “ß” at once after word with “ss”, but on at the end of the list)
SoftServe Confidential
1. Build 1.0.0 – Test for Function A - Passed, test for Function B - Failed
Purpose:
• verifies that the system still meets its requirements.
TESTING ORDER
SoftServe Confidential
Testing Order
• Executed every time the new build ready
Smoke
Functional
Non-functional
Regression
SoftServe Confidential
Testing Order
Some factors to consider in prioritizing test cases:
• Mission-critical components
• Complex features
• Where failures would be most visible
• Features that undergo frequent changes
• Areas with past histories of problems
• Areas with complex coding
• Areas of most frequent use
SoftServe Confidential
Summary
Test activities can be grouped using different classification:
• By the degree of automation (Manual and Automated);
• By the level of awareness about the system and its internal structure (Black-, White-,
Grey-box);
• By the basis of positive scenario (Positive and Negative);
• By the degree of preparedness to be tested (Scripted and Unscripted);
• By the degree of component isolation (by Test levels);
• By the Test Objectives.
All mentioned Test Types are not mutually exclusive but are complementary.
SoftServe Confidential
Thank you!