Agile software development
describes a set of values and principles for software development under which
requirements and solutions evolve through the collaborative effort of
self-organizing cross-functional teams (Wikipedia)
Agile testing is a software testing practice that follows the principles of agile software development. Agile testing involves all members of a cross-functional
agile team, with special expertise contributed by testers, to ensure delivering
the business value desired by the customer at frequent intervals, working at a
sustainable pace. Specification by example is used to capture examples of desired and undesired
behavior and guide coding. (Wikipedia)
Agile software development is a type of
incremental model, developed based on the iterative development process. Agile
does not necessarily follow the plan, it can have its own breakthroughs to
create the perfect software.
Features of Agile model:
·
Each project is divided into several segments
for ease of use and change when customers request changes
·
Small portions of the project will be tested
during project implementation.
·
The requirement for frequent face-to-face
meetings is because the whole team must focus on developing a piece of the
project at each point of time in Agile.
The software testing works in Agile are
performed according to the following procedure:
a. Kick Off:
·
Kick Off testing software, We :
·
Understand and analyze customer requirements
·
The first step in software testing process is
to review customer requirements that must be thoroughly analyzed and
tested. In case of any incomprehensible or unreasonable, report to the
analysis team. This phase helps us to answer the question: What will be tested?
·
Prepare strategies and plans (test plans)
·
In the Agile model, test plans are written and
updated continuously in each loop including:
·
The key functions of the project
·
Non-functional requirements
·
The approach and identification of test
activities can be either manual or automated, or a combination of both
·
References
·
Estimate the cost of testing and building,
reasonable time division.
·
Division of human resources for testing.
·
......
·
Preparing the environment is the foundation for
software testing to include the operating systems (Win 7, Win 8, IOS, ...),
browsers (Opera, IE, ...), devices (Mobile, tablet , destop, ...)
b. Deployment Features,
Functions in each sprint
The process is shown
below:
As shown on pictures, the same work will be
done in each development included:
·
Design
·
This stage is
very important, it ensures all test situations "cover" all the
testing requirements. Designing a test is not just a one-time. It will be
repaired, updated, added or subtracted throughout the software testing period,
at any time with any required change, or notice that it needs to be repaired or
added after analysis.
Writing test
cases, writing Checklist, from functional and non-functional requirements of
the software consists of three cases: True, Fail and unidentified results (case
incurred, not in the specification document). Testcase should cover all aspects
of testing for each software requirement. Write test scripts if you use the
tool to perform automation tests for interfaces, functional tests....
·
Perform
After designing, we run the test in a variety
of ways.
·
Run the test for each test case / test script
·
Perform special ad-hoc testing
·
Review bugs that have been fixed
·
The tester should report the bugs to the
developer during the implementation and track them until the bugs are fixed.
·
And during the implementation, there may be
some additional missing cases (if any).
·
Bug
Report & Re-run the bug
After the test is done, report the bug to the
developer to confirm and the developer will fix if it is the bug.
After fixed, the tester re-runs the bug to
ensure that the bug runs correctly after fixed and does not damage other
program functions.
After the Deployment stages are completed or
each function is completed, the tester will test the entire development cycle,
the whole system to make sure that the Deployment n is finally complete.
The tester performs a software test on the UAT.
If there is a bug, it will be reported to the developer to fix and test until
the software is complete. Then the software will be tested by the user.
c. Feedbacks
The system is uploaded to the UAT for the user
to run the program.
Cases:
If the user feedback software is complete, the
software will be launched.
If the user has any feedback about the bug, ask
for the interface as well as adjust the software, the software testing team
will receive feedback, record and make changes with the implementation of the
development 1, development 2, .... basing on the customer requirements.
b4usolution group
b4usolution group