Professional Documents
Culture Documents
The Software Development Life Cycle mainly revolves around six phases, may it
be the traditional lifecycle or Agile lifecycle of a project:
1. Planning
2. Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance
Planning
Lastly, even if QA’s input doesn’t result in any significant product changes,
sneaking through the upcoming features can help QAs plan out test scenarios,
edge cases and test cases.
Design
On the other hand, involving QA in the design phase would help in identifying
aspects of the design that might cause future usability problems. Early
intervention enables UI/UX designers to make changes on the fly, resulting in a
better end product and happier customers.
Implementation
The project team focuses on writing source code during this phase of the
application development lifecycle, and the concept of Continuous
Testing continues to play an important role in modern best practices for the
Implementation phase. We recommend following a component testing
approach for Continuous Testing, as it helps the team check each component of
the application (object, module, etc.) to validate if the system works properly.
Testing
As a tester, you must go through all of the possible layers of the software,
looking for the smallest to most critical bugs. It’s important to test even the
simplest of applications, as there will always be features and scenarios where
users could encounter problems — like issues across different devices, browsers
and scenarios.
Deployment
Quality assurance in software development plays a less crucial role in the
deployment phase, as this phase encompasses pushing the code to production.
However, you still want to perform smoke testing in this phase to make sure the
deployment didn’t cause any issues when it went into production.
Maintenance
You sometimes miss bugs in the production phase due to stringent timelines, or
due to a simple miss. As a tester, you’re counted on to fix these bugs in the
maintenance phase, where you’ll be on-hand to test the bug fixes, or upgrades
to features.
System Architecture
Implementation of SQA
1) SQA PLAN
The goal of SQA plan is to craft planning processes and procedures to ensure
products manufactured, or the service delivered by the organization are of
exceptional quality.
During project planning, Test Manager makes an SQA plan where SQA audit is
scheduled periodically.
The SQA team is the group of person who plays the major role in the project.
Without QA, no business will run successfully. Therefore, the Test Manager has
to make clear the responsibility of each SQA member in SQA plan as below:
For example, in the SQA Plan of the project, you can create the list members
of SQA team as below
S.NO MEMBER ROLES RESPONSIBILITY
1 Peter SQA Leader Develop and document quality
standard and process for all
management process
Manage software quality assurance
activities for the project
Step 1.2) List of the work products that the SQA auditor will review and audit
The Test Manager should
For example, for the project, you can list out the work products of each Test
Management Process and define permission for SQA members to access these
work products as per the following table
Test Manager also creates the scheduling of those SQA tasks. Normally, the
SQA schedule is driven by the project development schedule. Therefore, an
SQA task is performed in relationship to what software development activities
are taking place.
In each SQA phase, the SQA members provide consultation and review of the
project plans, work product, and procedures regarding compliance to defined
organizational policy and standard procedures.
During Audit, the SQA members should use SQA review checklist. After you
walk through the 3 steps of software assurance implementation, you have the
result of Test Management Review & Audit. This is the evidence to show to
your stakeholders about your management quality.
Software quality assurance best practice
Experience: Choosing the members who are seasoned SQA auditors is a good
way to ensure the quality of management review
Tool Usage: Utilizing tool such as the tracking tool, management tool for SQA
process reduces SQA effort and project cost.
Metrics: Developing and creating metrics to track the software quality in its
current state, as well as to compare the improvement with previous versions,
will help increase the value and maturity of the Testing process
Responsibility: The SQA process is not the SQA member’s task, but everyone’s
task. Everybody in the team is responsible for quality of product, not just the
test lead or manager.