0% found this document useful (0 votes)
88 views22 pages

Unit - I (STT) Final

The document discusses software testing and the software development life cycle (SDLC). It describes the typical phases of the SDLC as requirements gathering, analysis, design, coding/development, testing, and deployment/maintenance. It then provides more details on each phase and defines different levels of software testing, including unit testing, integration testing, system testing, and acceptance testing. The key purpose of the SDLC and testing is to develop and maintain high quality software that meets requirements.

Uploaded by

p178balu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views22 pages

Unit - I (STT) Final

The document discusses software testing and the software development life cycle (SDLC). It describes the typical phases of the SDLC as requirements gathering, analysis, design, coding/development, testing, and deployment/maintenance. It then provides more details on each phase and defines different levels of software testing, including unit testing, integration testing, system testing, and acceptance testing. The key purpose of the SDLC and testing is to develop and maintain high quality software that meets requirements.

Uploaded by

p178balu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 22

UNIT-I:

Manual Testing : Software Development Life Cycle (Requirements Gathering, Analysis and Planning,
Software Design, Coding/Implementation, Testing, and Release and Maintenance Phase), Software Test
Levels (Unit Testing, Integration Testing, System Testing, and Acceptance Testing), Software Test
Types, Software Test Design Techniques, Software Test Life Cycle, Software Documents, Software
Testing Standards, Software Testing certification/s

Software Development Life Cycle (SDLC)

Software Development Life Cycle is a systematic approach to develop software. It is a Process followed
by Software Developers and Software Testing is an integral part of Software Development, so it is also
important for Software Testers…

Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop
and test software. The SDLC aims to produce high-quality software that meets or exceeds customer
expectations, reaches completion within times and cost estimates.

ISO/IEC 12207 is an international standard for software life-cycle processes. It defines all the tasks
required for developing and maintaining software.

Phases of Software Development Life Cycle,

These phases may vary from one organization to another, but the purpose is almost all same, that is
“Develop and Maintain Quality Software”,

1. Requirement Gathering
2. Analysis
3. Design
4. Coding / Development
5. Testing
6. Deployment & Maintenance

Note: It is General Software Development Life Cycle, we have various SDLC Models in the IT
Industry, Waterfall Model, V Model, Spiral Model and Agile Development Models etc…, Software
Development process varies from one SDLC Model to another.

1. Requirement Gathering

Requirement Gathering is the most important phase in software development life cycle, Business Analyst
collects the requirements from the Customer/Client as per the clients business needs and documents the
requirements in the Business Requirement Specification and provides the same to Development Team.

Note: Document name may vary from one Organization to another, Some examples are Customer
Requirement Specification (CRS), Business Requirement Document (BRD) etc…

Suppose Our Planned Software is not intended for a single customer and the software product for
multiple customers then Business Analyst or Business Team collects Requirements from the Market and
also evaluate Other similar products in the Market.
1
Page

Key Role in this phase is Business Analyst and Outcome of the phase is “Business Requirement
Specification”
2. Analysis

Once the Requirement Gathering is done the next step is to define and document the product
requirements and get them approved by the customer. This is done through SRS (Software Requirement
Specification) document. SRS consists of all the product requirements to be designed and developed
during the project life cycle.

Key people involved in this phase are Project Manager, Business Analyst and Senior members of the
Team. The outcome of this phase is Software Requirement Specification.

3. Design

In Design phase Senior Developers and Architects, they give the architecture of the software product
to be developed. It has two steps one is HLD (High Level Design) or Global Design and another is LLD
(Low Level Design) or Detailed Design,

High Level Design (HLD) is the overall system design, covers the system architecture and database
design. It describes the relation between various modules and functions of the system.

Low Level Design (LLD) is the detailed system design, covers how each and every feature in the product
should work and how every component should work.

The outcome of this phase is High Level Document and Low Level Document which works as an input to
the next phase Coding…

4. Coding / Implementation

Developers (seniors, juniors, fresher) involved in this phase, this is the phase where we start building
the software and start writing the code for the product.

The outcome of this phase is Source Code Document (SCD) and the developed product.

5. Testing

Once the software is complete then it is deployed in the testing environment. The testing team starts
testing (either test the software manually or using automated test tools depends on process defined in
STLC)

Testing is done to verify that the entire application works according to the customer requirement.

During this phase, Testing team may find defects which they communicate to developers, the
development team fixes the defect and send back to Testing for a re-test. This process continues until the
software is Stable, and working according to the business needs of that system.

6. Deployment & Maintenance

After successful testing, the product is delivered (deployed to the customer for their use), Deployment is
done by the Deployment/Implementation engineers and Once when the customers start using the
developed system then the actual problems will come up and needs to be solved from time to time.
2
Page
Fixing the issues found by the customer comes in the maintenance phase. 100% testing is not possible –
because, the way testers test the product is different from the way customers use the product.
Maintenance should be done as per SLA (Service Level Agreement)

SOFTWARE TEST LEVELS

Software Test Levels are the different stages of the software development life cycle where testing is
conducted.

In order to increase the Quality of Software we go for multiple levels of Testing instead of conducting
single stage of Testing.

Test Levels identify missing areas and prevent overlap and repetition.

There are four levels of software testing:

1) Unit Testing

2) Integration Testing

3) System Testing

4) Acceptance Testing

1) Unit Testing

The most basic type of Testing is Unit or Component Testing, Unit Testing is a level of software testing
where individual units/ components of a software are tested and the purpose of Unit Testing is to validate
that each unit of the software performs as designed.

Unit or Component Testing may include Testing of Functionality and specific Non Functional
characteristics such as resource-behavior (Ex: Memory leaks), performance or robustness testing, as well
as structural testing (ex: Decision Coverage). Test cases are derived from Software Design or the data
model.

It is normally performed by software developers using the White Box Testing method, in rare cases, it
may also be performed by independent software testers.

2) Integration Testing

Integration Testing tests interfaces between components, interactions to different parts of a system such
as an operating system, file system and hardware or interfaces between systems.

Integration Testing is often carried out by the integrator, but preferably by a specific integration tester or
test team. Test drivers and test stubs are used to assist in Integration Testing.

Integration Testing can be conducted in two states for some applications, component integration testing
after Unit Testing and system integration testing after system testing.
3

Component Integration Testing: Testing performed to expose defects in the interfaces and interaction
Page

between integrated components.


System Integration Testing: Testing the integration of systems and packages; testing interfaces to external
organizations.

3) System Testing

System Testing: The process of testing an integrated system to verify that it meets specified requirements.

System Testing should investigate both functional and non functional requirements of the system and
testers may also deal with incomplete or undocumented requirements.

System Testing requires a controlled Test Environment as well as stable software build/s and the test
environment should correspond to the production environment as much as possible in order to
minimize the risks.

Normally Independent Testers perform System Testing using Black Box Testing Method.

4) Acceptance Testing

Acceptance Testing is a level of software testing where a system is tested for acceptability. The purpose
of this test is to evaluate the system’s compliance with the business requirements and assess whether it is
acceptable for delivery.

The acceptance test has two stages, first one is Alpha testing, this test takes place at developer’s site, A
cross section of potential users and members of the developer’s organization are invited to use the system.
Developers observe the users and note problems. Next Beta Testing or field testing, sends the system to a
cross-section of users who install it and use it under real-world working conditions.

We have different Acceptance Tests, User Acceptance Testing is performed by the end users of the
software. The User acceptance test focuses mainly on the functionality of the system and the operational
acceptance test (also called production acceptance test) validates weather the system meets the
requirements for operation. The operational acceptance test may include testing of backup/restore,
disaster recovery and maintenance tasks etc…

SOFTWARE TEST TYPES

A Test type is a group of test activities aimed at testing specific characteristics of a software system, or a
part of a system, based on specific test objectives. Such objectives may include:

• Evaluating Functional quality characteristics, such as completeness, correctness, and appropriateness.

• Evaluating Non-functional quality characteristics, such as reliability, performance efficiency, security,


compatibility, and usability.

• Evaluating whether the Structure or architecture of the component or system is correct, complete, and
as specified.

• Evaluating the Effects of changes, such as confirming that defects have been fixed (confirmation
testing) and looking for unintended changes in behavior resulting from software or environment changes
(regression testing).
4
Page
1. Functional Testing

Functional testing considers the behavior of the software, so black-box techniques may be used to derive
test conditions and test cases for the functionality of the component or system.

Functional test design and execution may involve special skills or knowledge, such as knowledge of the
particular business problem the software solves (e.g., online banking software for the banking industry).

Unit Testing
Integration Testing
System Testing
User Acceptance Testing.
Sanity/Smoke Testing.
Re & Regression Testing.

etc…

 Functional Testing is a Test type, and Unit Testing, Integration Testing, System Testing and
Acceptance Testing are the Test levels.

 Functional Testing is conducted in all Test Levels (Unit, Integration, System, and Acceptance
Testing)

 Sanity and Smoke Testing are Test Execution levels of Functional Testing

 Retesting and Regression are for Change-related Testing.

2. Non-functional Testing

Non-functional testing of a system evaluates characteristics of systems and software such as usability,
performance efficiency, or security. Non-functional testing is the testing of “how well” the system
behaves.

Contrary to common misperceptions, non-functional testing can and often should be performed at all test
levels, and done as early as possible. The late discovery of non-functional defects can be extremely
dangerous to the success of a project.

 Performance Testing. (Load, Stress, Spike and Endurance Testing)


 Usability Testing
 Compatibility Testing
 Reliability Testing
 Security Testing
 Cookies Testing
 Session Testing
 Recovery Testing
 Installation Testing
 Adhoc Testing.
 Risk-Based Testing.

5

I18N Testing.
Page

 L1ON Testing.
 Compliance Testing.
Etc…

3. Structural Testing (White-box Testing)

Structural/White-box testing derives tests based on the system’s internal structure or implementation.
Internal structure may include code, architecture, workflows, and/or data flows within the system.

The thoroughness of white-box testing can be measured through structural coverage. Structural coverage
is the extent to which some type of structural element has been exercised by tests, and is expressed as a
percentage of the type of element being covered.

White-box test design and execution may involve special skills or knowledge, such as the way the code is
built, how data is stored (e.g., to evaluate possible database queries), and how to use coverage tools and to
correctly interpret their results.

4. Change-related Testing

When changes are made to a system, either to correct a defect or because of new or changing
functionality, testing should be done to confirm that the changes have corrected the defect or
implemented the functionality correctly, and have not caused any unforeseen adverse consequences.

Confirmation Testing:

After a defect is fixed, the software may be tested with all test cases that failed due to the defect, which
should be re-executed on the new software version.

Regression Testing:

It is possible that a change made in one part of the code, whether a fix or another type of change, may
accidentally affect the behavior of other parts of the code, whether within the same component, in other
components of the same system, or even in other systems.

Note: Confirmation testing and Regression testing are performed at all test levels.

SOFTWARE TEST DESIGN TECHNIQUES

Design is an efficient way of doing or achieving something. A test design technique is used to select a
good set of tests from all possible tests for a given system.

Exhaustive Testing is not possible, so we need to use Test Design Techniques in order to reduce the size
of the input. Exhaustive Testing is a Test approach in which the test suite comprises all combinations of
input values and preconditions. Exhaustive Testing is not recommendable due to Time and Budget
considerations.

Categories of Test Design Techniques

There are two main categories of Test Design Techniques, They are:

a. Static Techniques
6
Page

b. Dynamic Techniques
2. Static and Dynamic Test Design Techniques

A. Static Techniques

Testing of the software documents done manually or with a set of tools but without executing the
Software.

Two types of static testing techniques

i) Reviews (Manual Examination)

ii) Static Analysis (Automated Analysis)

i) Reviews

Types of Reviews

a) Informal Review
b) Walkthrough
c) Technical Review
d) Inspection

ii) Static Analysis

Static analysis tools are typically used by developers, Compilers offer some support for Static analysis,

B. Dynamic Test Design Techniques

The software is tested by executing it on a computer.

Categories of Dynamic Test Design Techniques

i) Specification-based or Black-box Techniques

a) Equivalence Partitioning (EP)


b) Boundary Value Analysis (BVA)
c) Decision Table Testing
d) State Transition Testing
e) Use Case Testing Etc…

ii) Structure-based or White-box Techniques

a) Statement Testing and coverage


b) Decision Testing and Coverage
c) Condition Testing, Multi Condition Testing etc…

iii) Experience-based Techniques

a) Error Guessing
7

b) Exploratory Testing
Page
3. Black-box Test Design Techniques

a) Equivalence Partitioning (EP)


b) Boundary Value Analysis (BVA)
c) Decision Table Testing
d) State Transition Testing
e) Use Case Testing

a. Equivalence Partitioning (EP)

• It can be applied at any level of testing (Unit, Integration, System and Acceptance Testing)

• In Equivalence Partitioning, inputs to the Software are divided into groups that are expected to exhibit
similar behavior.

• Equivalence Partitions/Classes can be found for both valid data and invalid data.

Example 1 (Data Range):

The tickets field in a Reservation system accepts 1 to 10 Tickets only.

Partition 1 Partition 2 Partition 3

0 1 to 10 11 to 99 or above

(Invalid) (Valid) (Invalid)

Example 2 (Data Type):

The customer Identification Number field in a CRM system accepts only numbers.

Partition 1 Partition 2 Partition 3 Partition 4

Alpha bytes Numbers Special Characters Alpha-numeric

(Invalid) (Valid) (Invalid) (Invalid)

Example 3 (Data Size)

Phone Number filed accepts 10 digits number only

Partition 1 Partition 2 Partition 3

Below 10 10 Above 10

(Invalid) (Valid) (Invalid)

Example 4 (Others)
8
Page

A Payment management system accepts credit card payments only


Partition 1 Partisan 2 Partisan 3

Credit card Net Banking Cash on Delivery

(Valid) (Invalid) (Invalid)

b. Boundary Value Analysis (BVA)

• The maximum and minimum values of a partition are its boundary values.

• Behavior at the edge of each equivalence partition is more likely to be incorrect than behavior within the
partition.

• Boundary value analysis can be applied at all Test levels(Unit, Integration, System and Acceptance
Testing).

Example 1:

Partition 1 Partition 2 Partition 3

0 1 to 10 11 to 99 or above

(Invalid) (Valid) (Invalid)

Minimum/maximum 0

Minimum 1

Maximum 10

Minimum 11

Maximum 99

————————————-
Example 3 (Data Size)

Phone Number filed accepts 10 digits number only

Partition 1 Partition 2 Partition 3

Below 10 10 Above 10

(Invalid) (Valid) (Invalid)

Minimum -9

Minimum and Maximum – 10


9
Page

Maximum -11
—————————————-
Example: User Id field accepts 10 to 20 characters

Partition 1 Partition 2 Partition 3

Below 10 10 to 20 11 to 99

Minimum -1

Maximum – 9

Minimum – 10

Maximum – 20

Minimum – 21

Maximum -99

c. Decision Table Testing

• The decision tables are a good way to capture system requirements that contain logical conditions.

• It may be applied for all situations when the action of the software depends on logical decisions.

BSRB (Govt) System Job eligibility criteria,

Age should be in between 21 and 35

Conditions:
i) For SC or ST Candidates 5 Years age relaxation

ii) For BC Candidates 5 Years age relaxation

iii) PHC Candidates 5 Years age relaxation

Category Age Valid/Invalid

———————————————-
OC 20 Invalid

OC 21 Valid

OC 35 Valid

OC 36 Valid
10
Page

BC 36 Valid
BC 39 Invalid

SC 39 Valid

PHC 39 Valid

ST 40 Valid

—————————————————–
Banking System interest rates For fixed deposits.

1 to 2 years 7%

2 to 3 Years 8%

3 to 5 Years 10%

Condition:

For Senior citizens 0.5% extra for all ranges

Age Period Interest Rate

———————————–
25 1 year 7%

35 2.5 8%

56 4 10%

66 4 10.5%

d) State Transition Testing

• In State transition Testing Test cases are designed to execute valid and invalid state transitions.

• A System (Application Under Test) may exhibit a different response on current conditions or previous
history.

Example: Internet Banking System Fund Transfer operation

Initial Balance: 45000

Transaction Transaction Amount Transaction

1 20000 Successful (Pass)


11

2 20000 Successful (Pass)


Page

3 20000 Unsuccessful (Pass)


e) Use Case Testing

• In Use Case Testing Test Cases are designed to execute User Scenarios or Business Scenarios.

• A Use Case describes interactions between actors, including users and the system.

• A Use case usually has a mainstream scenario and sometimes alternative scenarios.

Example:

Business Scenario: ATM Cash Withdrawal operation

Mainstream Scenario:

1) User: Inserts ATM Card


System: Asks for PIN
2) User: Enters PIN
System: Validates PIN and asks to select language
3) User: Selects Language
System: Asks to select Account Type
4) User: Selects Account Type
System: Asks to enter Amount
5) User: Enters Amount
System: Releases Money

————————————————–
Alternatives

2a) Suppose if user enters invalid Pin

System: Shows error message and asks to enter correct PIN

User: Enters Correct PIN

———————–
4a) Suppose if user selects incorrect Account Type

System: Shows error and asks to select correct Account Type

User: Select correct account type

5a) If User enters incorrect amount (More than the balance amount or more than the day limit)

System: Shows Error message and asks to enter correct amount

User: Enters correct amount

Software Testing Life Cycle/ Software Testing Process


12

Software Testing Life Cycle (STLC) identifies what test activities to carry out and when to accomplish
Page

those test activities. Even though testing differs between organizations, there is a testing life cycle.
Just like Software Developers follow the Software Development Life Cycle (SDLC), Software Testers
also follow the Software Testing Life Cycle.

Software Test Process is not a single activity, it consists of many different activities which are executed
to achieve a good quality product.

There are different phases in STLC which are given below:

1) Requirement Analysis
2) Test Planning
3) Test Design & Development
4) Test Environment Setup
5) Test Execution
6) Test Cycle Closure

We have Entry and Exit Criteria for all levels in the Software Testing Life Cycle…

Entry Criteria: Entry Criteria gives the prerequisite items that must be completed.

Exit Criteria: Exit Criteria defines the items that must be completed.

1) Requirement Analysis

In the Requirement Analysis phase, test team studies the requirements and identify the testable
requirements.

Entry Criteria: Requirements Document available (both functional and non functional),
Application Architectural document or Product should be available…

Exit Criteria: RTM should be signed off and The customer should sign off on the test automation
feasibility

Activities in this phase:

i) Identify types of tests to be performed.


13

ii) Risk Analysis


ii) Prepare Requirement Traceability Matrix (RTM).
Page

iii) Identify Test environment details


iv) Automation feasibility analysis (if required).

Deliverables:
i) Requirement Traceability Matrix (RTM)

ii) Automation feasibility report(Optional)

2) Test Planning

In this phase the Test Manager or Test Lead prepares the Test Plan and Test strategy documents.

Entry Criteria: Requirements Document, Requirement Traceability Matrix (RTM) and Automation
Feasibility Report

Exit Criteria: Approved Test Plan document, Test Strategy document and Effort estimation document

Activities in this phase:

i) Selection of Testing Approach

ii) Test Estimation

iii) Team Formation

iv) Preparation of Test Plan, Test strategy documents

v) Configuration Management Planning

vi) Resource planning

vii) Test Tool Selection (if required)

viii) Training Requirement

Deliverables:

i) Test Plan, Test Strategy document.


ii) Test estimation document.

Etc..

3) Test Design & Development

> In Test design phase, testers prepare test scenarios, test cases/test scripts and test data based on
the Requirement Document/s and Test Plan.

Entry Criteria: Requirements Document/s, RTM and Test Plan, Automation analysis report
14

Exit Criteria: Reviewes Test cases, Test Scripts (if automation) and Test data.
Page

Activities in this phase:


i) Derive Test Scenarios
ii) Test Case Documentation
iii) Review Test Cases
iii) Update RTM – Map Test Cases to Requirements in RTM
iv) Creation of Test Scripts if required
v) Collect Test Data

Etc…

Deliverables:
i) Test cases
ii) Test scripts (for automation if required)
iv) Test Data

4) Test Environment Setup

It is a combination of hardware and software environment on which the tests will be executed. Test
Environment supports test execution with software, hardware and network configured. Test environment
configuration must mimic the production environment.

Readiness of the test environment can be validated by smoke testing performed by the Testing team.
Entry Criteria: System design document/s, Architectural document of the application and
Environment set-up checklist. Provision of Test Plan, readiness of Smoke Test cases and preparation
of test data.

Exit criteria: Test environment should be ready and smoke testing should be performed successfully.

Activities:
i) Setup Test Environment and Test Data

ii) Verify Test Environment by Conducting Smoke Tests

Deliverables:
i) Test Environment ready with test data set up

ii) Smoke Test Results.

5) Test Execution

In Test Execution phase the test cases are executed in the testing environment, while execution of the
test cases the Testing team may find bugs which will be reported, bugs are fixed by the developer and
they are retested by the Testing Team.

Entry Criteria: Test Plan document, Test cases, Test data, Test Environment

Exit Criteria: Test case execution report. Defect report, RTM

Activities:
15

i) Execution of Test Cases


ii) Document test results, and log defects for failed cases
Page

iii) Update RTM – Map defects to test cases in RTM


iv) Retest the Defect fixes
v) Track the Defects to Closure
Deliverables:
i) Test execution Report
ii) Updated test cases with results
iii) Completed RTM with execution status
iv) Opened and Closed Bug Report/s

6) Test Cycle Closure

Testing team will meet , discuss and analyze testing artifacts and evaluate Test cycle completion
criteria. Identify strategies that have to be implemented in future and taking lessons from the current test
cycle.

Entry Criteria: Test case Execution report and Opened and closed Defect Reports

Exit Criteria: Test Closure Report signed off by client, Test Metrics

Activities:
i) Evaluate Test Cycle completion criteria
ii) Prepare test metrics
iii) Documentation of the learning from the project
iv) Prepare Test closure report
Deliverables:
i) Test Closure report
ii) Test metrics

Note: This Software Testing Life Cycle or Software Test Process is for conducting Software Testing
in System Testing Level and It is Manual Testing Process.

SOFTWARE TEST DOCUMENTS

Documentation is an important activity in Software Testing, before, during, and after Testing we create
and use several documents.

1. Test Policy

A high-level (company level) document describes the principles, approach, and major objectives of the
organization regarding Testing.

2. Test Strategy

A high-level document of the Test Levels to be performed and the Testing within those levels for an
Organization.

3. Requirements Traceability Matrix

This is the document that connects the requirements to the test cases. The connection or mapping of the
requirements to test cases is many to many. This means that one requirement is tested by one or more test
16

cases. Conversely, it is possible to have one test case addressing one or more requirements.
Page
4. Test Plan

A document describing the scope, approach, resources, and schedule of intended activities.

1) Test Plan ID:


2) Introduction:
3) Test Items:
4) References:
5) Features to be Tested:
6) Features not to be tested:
7) Test Approach:
8) Entry Criteria:
9) Exit Criteria:
10) Suspension Criteria:
11) Roles & Responsibilities
12) Schedule:
13) Training:
14) Test Environment / Lab:
15) Test Deliverables:
16) Approvals
17) Glossary:

5. Test Case

A set of input values, execution preconditions, expected result, and execution postconditions developed
for a particular objective or Test condition.

6. Defect Report

A document reporting of any flaw in a component or system that can cause the component or system to
fail to perform its required function.

7. Test Metrics

Metric is a measurement scale and the method used for measurement

Test Metrics help in,

• Take decision for the next phase of activities


• Evidence of the claim or prediction
• Understand the type of improvement required
• Take decision on process or technology change

8. Test Summary Report

A document summarizing testing activities and Results. It also contains an evaluation of the
corresponding test items against exit criteria.
17

SOFTWARE TESTING STANDARDS


Page

Software Testing Quality Standards, ISO standards for Software quality, IEEE Test documentation
standards, and Software Testing Certification.
Software Testing Standards

Standards are a set of mandatory requirements established by consensus and maintained by a recognized
body to prescribe a disciplined uniform approach or specify a product, that is, mandatory conventions and
practices.

The basis for standards:

1. Communication – common terminology.


2. Professional qualifications.
3. Certification/compliance schemes.
4. Benchmark of good industry practice.
5. Contracts.
6. Interoperability and consistency.

Testing Standards are broadly categorized into two types:

 External standards
 Internal standards.

ISO – International Organization for Standardization

ISO develops International Standards. ISO founded in 1947, and since then published more than 19 000
International Standards covering almost all aspects of technology and business.

The aim of ISO/IEC 29119 Software Testing is to provide one definitive standard for software testing that
defines vocabulary, processes, documentation, techniques and a process assessment model for software
testing that can be used within any software development life cycle.

An IEEE standard for Software Test Documentation, Provides Test documentation templates from Test
Planning to Test Closure.

IEEE – Institute of Electrical and Electronics Engineers (1963)

Institute of Electrical and Electronics Engineers describes itself as “the world’s largest technical
professional society.It provides standards for Power, Energy, Telecom, Information Technology and
Aviation etc… Industries.

IEC – International Electrotechnical Commission (1906)

The IEC was officially founded in June 1906, in London, England. By 1914 the IEC had formed four
technical committees to deal with Nomenclature, Symbols, Rating of Electrical Machinery, and Prime
Movers. In 1948, the IEC Central Office moved to Geneva, Switzerland.

The International Electrotechnical Commission is an international standards organization that prepares


and publishes international standards for all electrical, electronic and related technologies. IEC standards
cover a vast range of technologies within electrotechnology.
18

BS (BSI) – British Standards (1901)


Page
The British Standards Institution (BSI) is the UK National Standards Body (NSB). It was established in
1901 by the Council of the Institution of Civil Engineers as the ‘Engineering Standards Committee’. In
1929 it was granted a Royal Charter and became the British Standards Institution.

The British Standards Institution publishes standards and provides a range of books, self-
assessment tools, conferences and training services. It also represents UK economic and social interests in
European and international standards organisations.

BSI defines a standard as 'something that is generally accepted'. British Standard (BS) publications
are technical specifications or practices that can be used as guidance for the production of a product,
carrying out a process or providing a service.

CMMI– Capability Maturity Model Integration

The Capability Maturity Model Integration (CMMI) is a process and behavioral model that helps
organizations streamline process improvement and encourage productive, efficient behaviors that decrease
risks in software, product, and service development.

The CMMI was developed by the Software Engineering Institute at Carnegie Mellon University as a process
improvement tool for projects, divisions, or organizations. The DoD and U.S. Government helped develop
the CMMI, which is a common requirement for DoD and U.S. Government software development
contracts. The CMMI is currently administered by the CMMI Institute, which was purchased by the ISACA
in 2016.

Software Testing has helped a lot of ventures to evaluate and verify the quality of every software
component so that the software can respond aptly to different inputs of stakeholders. Besides, the
techniques, associated with the testing of programming, driver, or application software involve risks
that, can run intentionally or intentionally in different environments. Those risks need to be remediated
proactively and to do that, businesses must have that production unit, acquiring an overall knowledge
of the practical implementation of risk analysis [which is an imperative part of Software Testing].

SOFTWARE TESTING CERTIFICATIONS (2023)

You may think about the demand for a software tester in this instance. Yes, the requirement is
humongous and will always be till the creation and maintenance of software will occur!! Whether you
plan dynamic or static testing, you need to bring quality testing practices to the table and for doing that,
this becomes necessary – certified testers with recognition through certification by reputed institutions.
Let’s take a look at top software testing certifications which won’t only land a high-paying job for
you but also help the ventures reduce the risks so that their software may gain acceptance from their
customers globally.

1. CAST (Certified Associate in Software Testing)

This certification can professionally identify the ability of an applicant or a candidate while
demonstrating the software testing principles and their quality practices at a foundational level. Some
prerequisites are there like: –

 3 or 4 years degree from a college-level [accredited] institution


19

 2 years degree from college-level [accredited] institution + 1-year experience in the IT services
Page

field
 3 years experience in the IT services field

From the above, you must possess any ONE OF those for qualifying the candidacy of CAST. The fee
for this certification is 100 US Dollars and one can pay this online after reading the payment terms
carefully. The certification will test your knowledge in various skill areas.

2. CSQA (Certified Software Quality Analyst Certification)

This certification will let you receive recognition since the candidature is identified and evaluated on
the grounds of a professional level of competence. Such competence is regarding the knowledge of the
practices and principles of QA i.e. Quality Assurance used in Software Testing. Undoubtedly, one
needs to ethically note these prerequisites down, and they start with: –

 4-year degree from a college-level [accredited] institution + 2 years experience in the IT services
field

 3-year degree from a college-level [accredited] institution + 3 years experience in the IT services
field

 2-year degree from a college-level [accredited] institution + 4 years experience in the IT services
field

 6 years experience in the IT services field.

From the above, you need to acquire any ONE from those to let your candidacy qualify. Despite all
these four prerequisites, the fee for CSQA certification is 350 US Dollars or $450. You must access
the payment policy section to know accurately about the terms and conditions.

3. International Software Testing Qualifications Board (ISTQB) Certification

This certification is most widely recognized for software testing at a foundational level as well as an
advanced level. Currently, expert-level certification is being developed. For all these levels, the
working groups of ISTQB are operating internationally so that the candidates can prepare well for roles
like software testers, test managers, test analysts, IT directors, and QA managers i.e. quality assurance
managers. In the foundational level (one module), you may either opt for the Foundational Level Core
certification or Foundational Level Specialist certification.

Similarly, the advanced level (three modules) is divided into Advanced Level Core Certification and
Advanced Level Specialist Certification. For the candidates willing to receive advanced-level
certification, they must possess the Foundational one. If we talk about the fees, the foundational level
certification costs 229 US Dollars while each of the advanced level ISQB certification costs $249.

Both these certifications will test your knowledge about the fundamentals of testing and quality
assurance; defects, effects, and root causes of test processes, tasks, and work products, basic to the mid-
level understanding of the lifecycle of software testing i.e. STLC, configuration management of the
automated and agile test cases.

4. Certified Quality Engineer (CQE)


20

The certification for CQE costs around 533 US Dollars and has an examination in two modes. The
Page

first one is computer-delivered (in English) which has 175 Questions in total which you need to
complete in 5 hours and 18 minutes. Of those, 160 questions are multiple-choice type i.e. MCQ,
and 15 questions are unscored which means they won’t impact your final marks. On the other side,
the paper-and-pencil examination (in English, Portuguese, Spanish, Mandarin, and Korean in certain
locations) for Certified Quality Engineer has 160 questions that need to be completed in 5 hours.
Before getting enrolled in CQE certification, you must have 8 years of experience in one or more areas
of CQE or a minimum of 3 years of experience (full-time, paid role as an intern or employee) in the
decision-making position (i.e. you are involved with the execution and controlling of quality inspection
processes) in any of its areas.

There will be variability in the set of topics asked like notions of service quality control and evaluation
of products’ principles; development and analysis of statistical models, and human factors correctly
diagnosing the metrology of management information systems. Rather than these, the certification will
document your critical skills related to the validation and verification of sampling, distributions, and
capability studies based on the hypothetical statistics of risk assessment and its acceptance.

5. Certified Manager of Software Testing (CMST)

This certification assesses the capabilities and competencies of the applicants inclined towards software
testing. Soon, they will be working at the ST management level. If one wants to be on the qualifying
list of CMST’s candidacy, then any ONE of these three prerequisites must be fulfilled:

 Bachelor’s degree in Computer Science or another field of engineering from a college-level


[accredited] institution + 4 years of experience in the ST field

 Associate Degree + 6 years of experience in the ST field

 8 years of experience in the ST field.

Besides, there are 100 Multiple Choice Questions from which the candidate must answer 70
correctly to pass CMST certification whose fee is 450 US Dollars. On an overall basis, this
certification will assess your candidature on grounds of resource planning, traceability, and controlling
of various test processes, implementing and designing the product that will meet the requirements of
the customers and maintenance of releases somewhere related to the quality standards of this
competitive market.

6. Certified Software Tester (CSTE)

This certification is best if you want to establish good standards for establishing qualification at the
initial stage and provide proper direction to do testing through a self-assertive educational program. If
you want to acquire the position of a certified software tester then you must be capable of applying the
principles and practice of quality control. Furthermore, if you want to be on the qualifying list for a
CSTE then any ONE of these three prerequisites must be fulfilled:

 A 2-year degree from a recognized college institution or college and 4 years of working experience
in the IT industry.

 A 3-year degree from a recognized college institution or college and 3 years of working experience
in the IT industry.

 A 4-year degree from a recognized college institution or college and 2 years of working experience
21

in the IT industry.
Page

 or at least 6 years of working experience in the IT field


The CSTE is divided into two parts and both are available at Pearson Vue Testing Centers. To take
these exams you will have to enroll in the certification program where the candidates will be given a
Software Testing Body of Knowledge for CSTE (STBOK), which is a 557-page PDF that covers a
complete examination syllabus.

7. ISTQB Foundation Level (CTFL)

This certification is relevant for all software delivery practices that include Agile, DevOps, Waterfall
and Continues Delivery. The 2018 foundation-level course is best for those who need to demonstrate
practical knowledge of the fundamental concepts of software testing. It includes people who are
working in the roles of quality manager, business analyst, project manager, and software development
manager. Moreover, if you want to know the exam details please take a look:

 Question- 40

 Multiple choice

 Time is given- 60 minutes

 Passing marks- 65%

 Fees- $250

This CTFL certification is better for people who want to apply for foundational roles in testing, for
example, test consultants and test analysts. Also, anyone can take the exam as there are no eligibility
criteria set for the same.

22
Page

You might also like