Sie sind auf Seite 1von 7

QA Testing Process

Testing Process
Purpose
For us, Quality Assurance is responsible for preventing defects, not merely for finding them. To achieve
this, we have QA in front of the development cycle. This helps our teams avoid many of the
communication errors that often result in delays, defects, and waste.
Before each story is implemented, the team asks and answer the questions.

Understanding Each Story

Requirement
Understanding

Sprint Planning Meeting Adding Acceptance Criteria to Each Story

Yes Changes No
Required

Yes

Define
No Changes
Test Plan Done Test Case Entry and
Required Review Exit Criteria
QA Testing Process

Understanding Phase

The Process model we follow here is scrum (agile methodology), so we have sprint planning as
part of the iterative development model.
In Spring Planning, QA understands that test requirements if they are valid? What is there
priority? What might be required to fully test a story? When you have the requirement
clarification and understanding of the flow, QA can easily test the whole story and any related
testing areas.
After clarification of each story, QA Manager (or team) adds the acceptance criteria so that
complete effect of the development is tested when the development is completed.
After that, Test cases are written according to the specification of each story, and reviewed by
the Manager; if any changes are required in the test cases or the test plan. After validation of
test cases, test plan is finalized and documented.
QA Testing Process

Testing Process (Per User Story on QA Environment)

Review Fail

Development and Code Review by


Deployment Development Manager

Fail Pass

Bug
Ready For QA
Logging

Smoke Test on
QA

Execute Compatibility and QA in Progress


Test Cases Functional Testing

Pass
Regression Testing

Integration Testing Exploratory Testing (Update Test Report)


QA Testing Process

Testing Process (on QA Environment)

To test each story on QA environment, after development from the developers the
developer manager reviews the code changes that are made on the files.
After successful review of the code; QA-environment is updated with the code changes and
the story is moved forward to the QA team. If the review is not successful, development
manager sends back the card to the developer and recommend him the changes and
updates the card with his comments.

Smoke Test
Before testing any story, smoke testing is done to check whether the QA environment is
ready to test the story or not. In our case; the smoke test includes if the QA is logging
successfully or it is updated with the latest code.

Functional Testing
After the completion of smoke test, functional testing is done with reference to test cases
and acceptance criteria mentioned in the user story. Verification is done according to the
checklist provided on the card and pre-conditions defined in the test cases. After the
successful completion of test cases, test reports are updated and comments are added on
the user-story and depending upon the result the story is updated.

Integration Testing
After the successful completion of functional testing, Integration testing is executed in
which individual software modules are combined and tested as a group. Testing done
together so that the product or application will be efficient and as per the customer
specifications.

Exploratory Testing
Exploratory testing is all about discovery, investigation and learning. This emphasizes on
personal freedom and responsibility of the individual tester. Test cases are not created in
advance but testers check system on the fly. They may note down ideas about what to test
before test execution. The focus of exploratory testing is more on testing as a "thinking"
activity. If any new bug is found, it is logged into Jira.

Regression Testing
After the successful completion of all testing activities, one cycle of regression test is
executed to check whether the major functionalities of the application are working as they
were working before. Before a new version of a software product is released, the old test
cases are run against the new version to make sure that all the old capabilities still work.
QA Testing Process

Testing Process (on Staging Environment)

Merging of Trunk
(Development & New Bug Reported on Live
Deployment)

Valid Bug
(Reproducible
on Staging)
Bug
Fail Ready For QA
Logging

Smoke Test on
Staging (Data
Availability)

Execute Functional Testing ReTesting on Staging


Test Cases

Pass
Hotfix Regression
Add Story to Hotfix
Integration Testing (Update Test Report)
QA Testing Process

Testing Process (on Staging Environment)

For staging environment, after development of the release code from the trunk; a complete
regression cycle is executed before the release to check the major functionalities are
working comparing with the old release.

At the same time, any new bug that is reported on the live environment is reproduced on
the staging environment. If this is a valid bug (QA reproduces the bug), the card is moved
forward to the developer.

Smoke Test
Before testing any story, smoke testing is done in order to check Staging environment is
ready to test the story or not. On Staging; the smoke test includes if the data is available on
staging and it is updated with the latest code.

Retesting
After the completion of smoke test, re-testing is done with reference to failed test cases and
acceptance criteria mentioned in the bug reproduced earlier. Validation is done according
to the post-condition (acceptance criteria) mentioned in the JIRA card. Test reports are
updated and relevant comments are added on the user-story and depending upon the result
the story is updated.

Integration Testing
After the successful completion of functional testing, Integration testing is executed in
which individual software modules are combined and tested as a group. Testing done
together so that the product or application will be efficient and as per the customer
specifications.

Adding Story to Hotfix


All reported bugs that got fixed are included in the weekly hotfix release. Before releasing
any hotfix, a complete regression cycle is executed that evaluates the major functionalities
of the whole application (Regression Test).
If any critical issue is found it is reported to the Manager and relevant action is performed
depending upon the severity and priority of the bug.
QA Testing Process

Testing Process (UAT on Live Environment)

The client service representatives are responsible for live environment testing. A test
instance is also available for the QA to check any critical issue found on live or when a
release is finalized to have the regression test. Retesting of bugs that are fixed on the
QA/Staging environment is carried out on the live environment to make sure that the code
changes are applied properly or not.

Automation (Regression Test)

The critical areas are automated to help the manual testing process. Test cases are written
for regression test suite that are then executed. Validation for actual results is done with
expected results using pre-defined inputs. The tools we use for automating our process are
Selenium WebDriver and Selenium IDE. For testing frameworks, we use TestNG and
JUnit. For performance testing, we use HP Load runner to validate the speed and
effectiveness of the system. For security testing, we use Acunetix Vulnerability Scanner.

Das könnte Ihnen auch gefallen