Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

SCHOOL OF INFORMATION

TECHNOLOGY

Information Security Audit


DA-3

SLOT: C2

Assignment on
Why QA Training is an important means of discernment
for QA personnel in relation to QA standards and
procedures with relevant examples

Submitted by:
Ritvik Gupta (18BIT0218)
Aditya Kumar (18BIT0235)
What is Quality Assurance?

Quality Assurance is a set of methods and activities designed to ensure that the
developed software corresponds to all the specifications, e.g., SRS, FRS, and BRS. It is
a planned strategy of the testing process evaluation aimed at the quality product yield.
QA works out ways to prevent possible bugs in the process of software development.
QA deals more with the management stuff: methods and techniques of development,
project analysis, checklists, etc.

Steps in QA

Requirements analysis
The cost of fixing a defect found during testing is up to 15 times higher than the cost
of preventing one at the requirements design stage. To avoid that, QA professionals
are involved in the analysis and clarification of functional and non-functional software
requirements and make sure the requirements are clear, consistent, complete,
traceable, and testable. Thus, they prevent possible software defects and facilitate
upcoming test design activities.

Test planning
QA professionals use the knowledge gained at the requirements analysis stage as a
basis for test planning. According to IEEE 29119-3, a test plan should contain a test
strategy and cover a testing scope, a project budget and deadlines, the types and
levels of testing an application requires, bug tracking and reporting procedures,
resources and their responsibilities, and other factors.
Test design
At this stage, QA specialists design test cases or checklists covering software
requirements. Test cases outline conditions, test data (prepared at the test design
stage as well), and test steps needed to validate particular functionality, and state an
expected test result. In order to gain familiarity with an application and come up with
an optimal approach to test design, test engineers may start test design activities
with a certain amount of exploratory testing.

When test automation is in scope, test automation engineers create  test automation


scenarios at the test design stage as well.

Also, the  test environment is prepared for test case execution. The test environment
should closely mimic the production environment in terms of hardware, software and
network configurations, operating system settings, available databases, and other
characteristics.

Test execution and defect reporting


Test execution starts at the unit level, when the development team performs unit
testing. In its turn, the test team takes over at the API and UI levels. Manual test
engineers execute the designed test cases, submitting found defects in a defect
tracking system, while test automation engineers use a selected framework (e.g.,
Selenium, Appium, Protractor) to execute automated test scripts and generate test
reports.

Retesting and regression testing


Once the found defects are fixed, test engineers retest functionality in question and
perform regression testing to make sure that bug fixes neither broke the related
functionality nor made it different from that specified in the requirements.

Release testing
Once the development team issues a release notification (containing the list of
implemented features, fixed defects, known issues and limitations), the test team
identifies software functionality that has been affected by the introduced changes
and determines test suites required to cover the scope of the deployed build. The
test team performs smoke testing to make sure the build is stable and, once it is
successfully passed, executes the identified test suites, issuing a test result report
when finished.

Quality Assurance Impacts Operational Excellence

Quality assurance should be part of a company’s operational strategy, which focuses


on:

 Engaging employees
 Controlling costs

 Improving productivity

 Surpassing market competitors

The two concepts intersect at company culture. Companies that have achieved
operational excellence also have solid company cultures that value process
improvement, employee engagement, and the customer experience.

Why Quality Assurance Training Is Important

Customer loyalty is a critical reason why quality assurance matters. Producing


quality products keeps customers coming back, which positively impacts business
performance.

Companies that prioritize solid quality assurance practices benefit from:

 Establishing a brand of trust and integrity with their customers

 Championing a value-driven mission that employees are proud to support

 Operating more efficiently which saves time, money, and essential resources

 Building a company culture that prioritizes quality products, meaningful


customer relationships, and continuous improvement

 Having an educated and engaged employee base

Good quality assurance practices can also prevent situations like product recalls,
which can damage public trust in a brand.

Why different types of training is a matter of importance?

This is because the are a lot of different types of standards and tests, which a
company might go for while developing a product. QA personnel must have the
theoretical and practical knowledge of these different standards to apply them to an
SDLC. QA people cannot afford to miss certain details which are described by the
certification (like IEEE or ISO).
Big companies might also go for an external audit which double checks these
standards which the company claims to have in their product.

Some popular QA standards in the software industry are as follows:


 IEEE 829
A standard for the format of documents used in different stages of software
testing.

 IEEE 1061
A methodology for establishing quality requirements, identifying,
implementing, analyzing, and validating the process, and product of software
quality metrics.

 IEEE 1059
Guide for Software Verification and Validation Plans.

 IEEE 1008
A standard for unit testing.

 IEEE 1012
A standard for Software Verification and Validation.

 IEEE 1028
A standard for software inspections.

 IEEE 1044
A standard for the classification of software anomalies.

 IEEE 1044-1
A guide for the classification of software anomalies.

 IEEE 830
A guide for developing system requirements specifications.

 IEEE 730
A standard for software quality assurance plans.

 IEEE 1061
A standard for software quality metrics and methodology.

 IEEE 12207
A standard for software life cycle processes and life cycle data.

You might also like