Acceptance testing types and processes

ACCEPTANCE TESTING TYPES AND PROCESSES  
SVTH: Trần Thị Mai Hương, Trương Ngọc Quỳnh  
GVHD: ThS Đặng Đình Quân  
     ắ — Nowadays, the software is applied in all aspects in order to gain better quality of life.  
It is essential that a problematic programming product must not be released, especially if it is expected  
to work in serious work such as medical or transportation. Correspondingly, testing is upgraded  
continuously to detects bugs and ensure software quality. Therefore, In this paper, we are going to  
discuss forms, processes, participators, and tools of a significant part of testing - Acceptance testing..  
 ừ kh a— Software testing, Red box Testing, Acceptance Testing  
I. INTRODUCTION  
In recent decades, the software industry grows rapidly, the number of products rockets  
up to meet social needs. Software products become an integral part of life, from electric  
games to business applications. Most people suffered disappointed when using a program that  
did not work as expected. Releasing a problematic software can lead to many problems,  
namely loss of money, time or business fame, and in the worst case, injury or death (ISTQB,  
2018). To assess the quality of the software and reduce risk, software testing is engaged in the  
software development life cycle as a mandatory phase.  
According to Guru99, in order to enhance testing systematic and easily identify all  
possible test cases at a particular level, tests are grouped based on where they are added in  
SDLC or by the level of detailing they contain. There are mainly four testing level: Unit  
Testing, Integration Testing, System Testing and Acceptance Testing.  
This research aims at studying acceptance testing- one of 4 test levels, focusing on  
types, processes, participators, and tools.  
II. OVERVIEW OF TESTING  
I. Test level  
According to Guru99, in order to enhance testing systematic and easily identify all  
possible test case at a particular level, tests are grouped together based on where they are  
added in SDLC or the by the level of detailing they contain. There are mainly four testing  
level: Component Testing, Integration Testing, System Testing and Acceptance Testing.  
1) Component Testing  
Component Testing, also known as module or unit testing, aims to test each part of the  
software separately, checks whether that component is fulfilling functionalities. Developers  
take responsibility for this kind of testing.  
2) Integration Testing  
Different software units are combined together and test as a whole to ensure the  
integrated system‘s readiness for system testing. The purpose of this level is checking the data  
92  
flow from one module to other modules, and this level is performed by testers.  
3) System Testing  
On a complete, integrated system, both functional and non-functional requirements are  
evaluated to verify that the system meets the specification. This test is performed by testers.  
4) Acceptance Testing  
Like system testing, acceptance testing typically focuses on the behavior and  
capabilities of a whole product or system to assess the system‘s readiness for deployment and  
use by end-user, basically done by the user or customer. However, other stockholders can  
joint in this process.  
J. Testing‘s contribution to success  
It is popular in the program industry that delivered software and system cause failures  
or under stakeholders‘ needs. However, using testing in the development life cycle in an  
appropriate way can reduce the frequency of such problematic deliveries.  
1) Requirement  
If requirement reviews or user story refinement has testers involved in, defects in these  
work products can be detected effectively, helps decrease the risks incorrect or untestable  
features being developed (ISTQB, 2018). Therefore, cost and time will not be wasted.  
2) Design  
If system designers and tester cooperate while design the system can increase each  
party‘s understand of the design and how to test it, thus reduce the risks of fundamentals  
design fault and enable tests to be identified at an early stage.  
3) Development  
Having testers support developers while coding can increase each party‘s understanding  
of the code and how to test it, reduce the risk of bugs within the code and the tests.  
4) Verify and validate  
Testers verify and validate the software before releasing can defect missed failures and  
support removing the defects. This increases the likelihood that the software satisfies  
requirements and meets stakeholder needs.  
To sum up, in every phase of development life cycles, the involvement of testers also  
leaps the quality of the product and contributes to success. Therefore, despite acceptance  
testing basically done by the customer, the testing team should join acceptance testing.  
III. ACCEPTANCE TESTING  
A. Definition  
As assigned in ProfessionalQA, the main goal behind acceptance testing is to check  
whether the developed software product passes the acceptance norms defined on the basis of  
user and business requirements, so as to declare it acceptable or non-acceptable for its use by  
the users. Acceptance testing is one of the last types of software testing performed over  
software or application. It is conducted by a pool of targeted users to ensure the readiness and  
quality of the system from the user's perspective, which allows the team to meet their needs  
and expectations.  
Acceptance testing is also referred to as red box testing. Additionally, the acceptance  
tests are derived from the user story and are based on the acceptance criteria.  
B. Types of acceptance testing  
1) Alpha Testing and Beta Testing  
Criteria  
Alpha Testing  
Beta Testing  
Clients/ End users  
Clients/ End users location  
Security Reliability, Security,  
Member  
Testers  
Developer‘s site  
Test location  
Reliability  
and  
Testing are not performed  
Robustness are checked  
Both the white box and black  
box  
Test techniques  
Black Box Testing  
Lab environment/ testing  
environment  
Test environment  
Time  
Real- time environment  
Long execution cycle  
Immediately  
Only a few weeks of execution  
In future versions of the  
product  
Fix bugs  
Beta testing also concentrates  
on the quality of the product,  
but gathers users‘ input on the  
product and ensures that the  
product is ready for real- time  
users.  
Alpha testing is to ensure the  
quality of the product before  
moving to Beta testing  
Objectives  
2) User Acceptance Testing (UAT)  
User acceptance testing of the system is typically focused on validating the fitness for  
use of the system by intended users in a real or simulated operational environment. The main  
objective is building confidence that the users can use the system to meet their needs, fulfill  
requirements, and perform business processes with minimum difficulty, cost, and risk.  
3) Operational Acceptance Testing (OAT)  
The acceptance testing of the system by operations or systems administration staff is  
usually performed in a (simulated) production environment. The tests focus on operational  
94  
aspects, and may include:  
- Testing of backup and restore  
- Installing, uninstalling and upgrading  
- Disaster recovery  
- User management  
- Maintenance tasks  
C.Testing in processes  
1) Activities  
RECORDING &  
EVALUATING  
RESULTS  
TEST  
CASEPREPARATION  
ACCEPTANCE/  
TEST  
REJECTION BASED  
ON TEST RESULTS  
EVALUATION  
EXECUTION  
- Test case preparation: Preparation of test cases, on the basis of combined  
requirements of both business and end-users.  
- Execution: These test cases are executed on the software product.  
- Documentation: Results are recorded and compared with the expected results, in  
accordance to specified acceptance criteria, for meeting the requirements.  
- Evaluation: The number of pass or fail of these test cases decides the software  
suitability for getting accepted or rejected.  
2) Acceptance Testing Criteria  
There are three criteria:  
- Functional Criteria.  
- Non- functional Criteria.  
- Performance Criteria.  
D.Participators  
1) The Users  
a) Active Users  
Active Users are the people who interact directly with the system, so they would have  
been key sources not only of functional requirements but also of performance, usability and  
other non-functional requirements as well. Much of what is built into the system is intended  
to meet these people‘s needs, so some (or many) of them should definitely be testers.  
b) Passive Users  
Passive users don‘t interact with the system directly but are impacted by the system  
none-the-less. For example, they may receive reports (e-mails or notifications from the  
system), or their jobs may include using the information the system produces, or they may  
supervise Active or Passive Users. The acceptability of the system for these people‘s  
purposes is no less important than for the Active Users, so some of these people should be  
testers as well.  
2) Business Analyst  
- BA responsibilities in acceptance testing are:  
- Identifying Testers: Users (Active users/ Passive users), stakeholders…  
- Planning Tests: Major focus of acceptance testing is to check how the system will  
actually be used in practice instead of finding bugs. Because of different purpose, planning for  
acceptance testing is significantly different from planning the other types of testing.  
- Determining when to do acceptance testing: There is a mindset that acceptance  
testing must be performed at the end of the project, but doing this crucial evaluation too late  
might land up in significant risks. Issues found in acceptance testing can cause time delays or  
forcibly accepted products.  
- Delivering business value through acceptance testing: Actively participating in UAT  
planning and execution is an important way for the BA to ensure that value is indeed  
delivered.  
3) Quality analysis  
- Review of acceptance criteria: The acceptance criteria must be clear, consistent,  
comprehensive, covers non-functional characteristics and provides measurable pass/fail  
criteria.  
- Review of acceptance test cases: Previously defined acceptance criteria should be  
covered in the acceptance test cases.  
- Traceability: Traceability between requirements/ user stories, acceptance criteria, test  
cases, and defects facilitates acceptance testing as it clarifies dependencies and provides  
simple access to related information.  
- Coverage analysis based on traceability: If bi-directional traceability is established, it  
is possible to perform a systematic coverage analysis.  
- Review of test report: Test reports should be clear, consistent and comprehensive.  
96  
They should contain all information provided by the tester to support decisions about the  
release.  
E. Tool support  
From both software testing domains and the business analysis, these tools for  
acceptance testing are derived (ISQTB, 2019).  
Tool Type Usage for  
Requirements  
Acceptance Testing  
Description of acceptance criteria  
Requirements  
Traceability between tests and requirements  
management tool  
Coverage analysis  
Description of acceptance criteria  
Agile  
management tool  
project  
Traceability between tests and user stories  
Coverage analysis  
Model business process and rules  
Business  
process  
management tool  
Analyze defect impact on business processes  
Manage acceptance tests and test execution campaign  
Test management and Manage test execution results  
automation tool  
Generate test cases from business process  
models  
Model-based  
tool  
testing  
Manage traceability between business process  
models, business rules, requirements and test  
cases  
Defect  
management tool  
/
Incident  
Manage defect / incident lifecycle  
IV. CONCLUSION  
In conclusion, there are 4 levels of testing: Component, Integration, System and  
Acceptance Testing. Testing involvement in every phase all contributes to success of the  
application or system. This paper discusses 3 types of acceptance testing: alpha and beta  
testing, user acceptance testing (UAT) and operational acceptance testing (OAT). Testing  
process with activities, acceptance testing criteria, and participators also are studied. Finally,  
tools are reviewed. This research paper supply understandings that can be learned to upgrade  
acceptance testing.  
pdf 6 trang baolam 22860 Free
Bạn đang xem tài liệu "Acceptance testing types and processes", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfacceptance_testing_types_and_processes.pdf