SlideShare a Scribd company logo
Software Testing &
Quality Assurance
Introduction to Software Quality & Assurance
Unit No. 1
Introduction
Objectives
After completing this session, you will be able to:
▪ Define Software .
▪ Define Software Quality Assurance.
▪ Explain Software Quality Challenges.
Introduction to Software Quality Assurance
Bus. Comm.
▪ The intelligence in totality that you provide to the computer system in order to solve your
problems is software.
▪ It is a set of instructions (program) and related data that guides the hardware and tells it
what to do and how to do it and how to accomplish each task.
▪ Everything that “runs” on a computer from an operating system, programming
languages – machine-level, assembly-level, high-level, language translators –
assemblers, compilers, interpreters, platforms, frameworks, documentation to a
diagnostic tool, video game, or app is software.
Introduction to Software Quality Assurance Cont ..
▪ The software plays a key role of a mediator between the user and the computer
hardware.
▪ It is an invisible component of a computer system that makes it possible for you to
interact with the computer’s physical components. It is what allows you to communicate
with smart phones, tablets, game boxes, media players, and similar devices.
▪ Software quality assurance is defined as:
- All planned and systematic actions necessary to provide adequate confidence that an item
or product conforms to established technical requirements.
- Designed to evaluate the process by which the products are developed or manufactured it
is a set of activities.
6
The Software Quality
▪ Software Quality is central to the entire process. The software should provide ease of
use, stability and should be good fit to actual needs. Quality is one of the elusive things of
life; you can know it when you see it, but do not know how to create it.
▪ We know how to define quality and how to achieve a degree much greater than in our
own practice. Difficult to measure. Even reasonable quality requires adequate testing.
▪ Software Quality Attributes for Product Operation are:
1. Correctness: The degree to which a program satisfies its specifications and
accomplishes the customer requirements.
7
The Software Quality Cont ..
2. Reliability: The degree to which a program is expected to perform its envisioned function
with required accuracy.
3. Efficiency: To perform its function the amount of computing resources and code required
by a program.
4. Integrity: The degree to which access to software or data by unauthorized people can be
controlled.
5. Usability: Learning, operating, preparing input and interpreting the output of a program,
usability refers to the required efforts.
8
Product Development & Production
▪ Product Development
▪ Product Production Planning
▪ Manufacturing
- During the above phases, defects in an industrial product can be detected.
9
The Software Quality Challenges
Basic Problems:
High Complexity
Invisibility of the product
Limited Opportunities to detect the defects (bugs)
Challenges:
1. Unstable Environment
Usually, QA teams face unstable environment setup issues that we need to prepare for most
of what we have. Sometimes the server gets stuck due to overload and requires a restart
many times during testing etc.
10
The Software Quality Challenges Cont ..
2. Tools Being Force-fed
Now and then, we realize that a tool is not the right choice for the project. We do not have
any other option but to keep using it because the clients/organization already have licenses
and would not go for a new one until the current license expires.
3. Tight Deadlines
The biggest challenge QA is to receive requests for last-minute testing. The primary reasons
for such demands are that the development process takes more time than expected and the
time for testing is underestimated.
11
The Software Quality Challenges Cont ..
4. Testing Documents Created By Others
In the case of QA, it's faster to create a document from scratch than to use the one created
by others. Using test cases created by others increases the time of verification and puts
limits as far as discovering bugs.
5. Wrong Testing Estimation
While trying to make an accurate estimate, some software estimations could be entirely
unpredictable and go wrong. As developers, QA also doesn't have 100% security from
unexpected issues.
12
The Software Quality Challenges Cont ..
6. Fixing Bugs During Testing
Developers and QA engineers should work closely. Testing should be done once part of the
development process is done, and after that, bug fixing activity should start.
7. Last-Minute Changes to Requirements
It is slightly common to change project requirements mid-sprint in agile development
projects. While this can be frustrating for the team and due to that testers can be affected.
They may need to re-try the whole extent of testing since even the littlest changes to a
codebase should be gone through various tests to guarantee its steadiness and similarity
with existing code.
13
The Software Quality Challenges Cont ..
8. Insufficient Coordinated Effort Among Developers and Testers
▪ Professional differences between development and testing teams are still common.
▪ Developers think that testing is a final process of the software development life cycle, and
testers do not require anything apart from a list of user journeys and technical
requirements.
▪ However, testers may have difficulty identifying flaws in the code if they are not
acquainted with the development process.
▪ If they do not understand how the software works, they will have trouble creating test
cases to find all possible bugs.
14
Software Quality
The quality of software can be defined as the ability of the software to function as per user
requirement. When it comes to software products it must satisfy the following Factors:
1) Good Design – It’s always important to have a good and aesthetic design to please
users.
2) Reliability – Be it any software it should be able to perform the functionality
impeccably without issues.
3) Durability - Durability is a confusing term, In this context, durability means the ability of
the software to work without any issue for a long period of time.
Software Quality Cont ..
4) Consistency – Software should be able to perform consistently over platform and
devices.
5) Maintainability – Bugs associated with any software should be able to capture and fix
quickly and news tasks and enhancement must be added without any trouble
6) Value for money – Customer and companies who make this app should feel that the
money spent on this app has not gone to waste.
Software Quality Factors Management
▪ Software factors are the factors which influence the software. These factors can be
classified into two categories, the classification being done based on measurability.
▪ The factors that can be measured directly such as number of logical errors is the first
category and those factors which can be measured only indirectly, for example,
maintainability is clubbed in the second category.
▪ To check for the content and the quality control, however, each of the factors are to be
measured. The factors of quality are:
Software Quality Factors Management
▪ Correctness: Degree to which a program satisfies its specification and fulfils the client’s
objectives.
▪ Reliability: Degree to which a program is supposed to perform its function with the
required precision.
▪ Efficiency: To perform its function amount of computing and code required by a program.
▪ Integrity: Degree to which access to software and data is denied to unauthorized users.
▪ Usability: Labor required to understand, operate, prepare input and understand output of
a program.
Software Quality Factors Management
▪ Maintainability: To locate and fix an error in a program the effort required.
▪ Flexibility: To modify an operational program the effort needed.
▪ Testability: To test the programs for their functionality the effort required.
▪ Portability: To run the program from one platform too other or too different hardware the
effort required.
▪ Reusability: Degree to which the program or its parts can be used as building blocks or
as prototypes for other programs.
▪ Interoperability: To couple one system to another the effort require
Software Quality Factors Management
There are various ‘checklists’ for software quality:
▪ Functionality by evaluating the generality of the functions that are derived, the feature set
and the program capabilities, and the overall security of the system this is measured.
▪ Usability is assessed by considering human factors, overall aesthetics, consistency and
documentation.
▪ By evaluating the frequency and severity of failure, the accuracy of output results, the
mean time between failure (MTBF), the ability to recover from failure and the
predictability of the program Reliability is figured out.
Software Quality Factors Management
▪ By measuring processing speed, response time, resource consumption, throughput and
efficiency Performance is measured.
▪ The ability to extend the program, adaptability, serviceability or in other terms
maintainability and testability, compatibility, configurability and the ease with which a
system can be installed are combined in Supportability.
Software Quality Factors Management
▪ A series of planned, systematic sequential actions that enable the quality of software
produced is Software Quality Assurance. All software development units usually have
their own SQA team.
▪ This SQA team takes care of the quality at the high end that is the overall product and at
the lower order the quality is the sole responsibility of the individual who may engineer,
review and test at any level.
▪ A characteristic of the software produced must be software quality and thus rather to be
imposed later it is designed into it.
Software Quality Factors Management
▪ It is the duty of every individual in the software development team that quality is
maintained even before some formal quality assurance procedures are applied. This
practice improves the quality of all software produced by the organization.
▪ Application of technical methods, conducting formal technical reviews (FTR), software
testing, control of change, measurement and record keeping and reporting are the
activities involved in SQA.
Software Quality Factors Role in SQA
▪ As for software development, we know that every project is different and has its own
unique characteristics and challenges.
▪ There is no magic recipe is a well-known fact when it comes to developing software
projects or quality assurance processes. However, there are key elements to consider
that can ensure grade A quality assurance:
1. Know the Business Logic: There are different roles within a software project, such as the
Product Owner. It is very common for this person to have all the information regarding the
product. In general terms, the Product Owner only shares information directly related to the
part of the project that is going to be developed.
Software Quality Factors Role in SQA
2. Know the Programming Language: There is a programming language for every need,
be it for mobile, desktop, or web apps. Though it is almost impossible to know all
programming languages, it is essential to have knowledge of those that apply to projects
that a quality engineer will be working on.
3. Let the Quality Engineer Take Ownership: An important role is played by the Product
Owner in every software project; however, it is important for the quality engineer to take
ownership of the project as this contributes to effective decision making.
4. Let the Quality Engineer Provide Solutions: From the very beginning of software quality
assurance, it was understood that a quality engineer’s main task was to report errors. Yet
this is only one of their multiple tasks.
Any Questions?
Thank You!
Software Testing &
Quality Assurance
Components of Software Quality Assurance
Unit No. 2
Components of the Software Quality Assurance System
Objectives
After completing this session, you will be able to:
▪ Define the Components of Software Assurance System.
▪ Define the Contract Review of Software Quality Assurance.
▪ Explain the Development & Quality Plans.
Components of Software Quality Assurance
▪ Pre-project Components
▪ Project Life Cycle Activities Assessment Components
▪ Components of Infrastructure Error Prevention and Improvement
▪ Software Quality Management Component
▪ Standardization, Certification, and SQA System Assessment Components
▪ The Human Components
5
Pre-project Components:
▪ Considering the resources required, the schedule and budget this assures that the
project commitments have been clearly defined and the development and quality plans
have been correctly determined.
Project Life Cycle Activities Assessment Components
▪ The development life cycle and the operation – maintenance are the two stages of the
project life cycle:
▪ The detection of design and programming errors is carried out by the components of the
development life cycle stage.
▪ Reviews, Expert opinions and Software testing are the sub-classes in which these
components are divided into.
▪ Applied mainly for functionality to improve the maintenance tasks the SQA components
used during the operation – maintenance phase includes specialized maintenance
components as well as development life cycle components.
Components of Infrastructure Error Prevention and Improvement
▪ The objective of these components, which is applied throughout the entire organization,
is to eliminate or at least reduce the rate of errors, based on the organization’s
accumulated SQA experience:
1. Software quality management components
2. Standardization, Certification and SQA system assessment components
3. Organizing for SQA – the human component
Software Quality Management Component
▪ The managerial SQA components support the managerial control of software
development projects and maintenance services. The control components include
Project progress control, Software quality metrics, Software quality costs:
1. Project Progress Control
2. Software Quality Metrics
3. Software Quality Costs
Standardization, Certification, and SQA System Assessment
Components
▪ The objective is to utilize international professional knowledge, professional evaluation
and measurement of the organization’s SQA achievement. Classified into two sub-
classes are the standards available: Quality management standards and Project process
standards:
1. Quality Management Standards
2. Project Process Standards
The Human Components
▪ The individuals related with SQA are put together in this phase who include supervisors,
trying staff, SQA trustees, SQA panel individuals, and SQA gathering people. Separately
each of them adds to start and support the execution of SQA parts, distinguish
deviations from SQA strategy and approach, and propose upgrades.
▪ Software projects developed by software houses for the use of other companies are
usually known as external projects or outside-contracted projects. Usually characterized
by strong/tight customer-supplier relationship.
▪ Software projects developed by one unit of an organization to another unit in the same
organization is usually known as internal project or in-house projects usually
characterized by weak/loose customer-supplier relationship.
Contract Review
▪ Contracts are vitally important. When delivered software does not perform as expected
they are the basis for litigation.
▪ The bad contracts arise out of poorly defined requirements and unrealistic budgets and
schedules.
▪ The result is poor quality software. Preventive Quality Assurance starts with a discussion
of Contracts.
▪ A contract review is a contractual process used to identify and analyze the key provisions
within an agreement.
▪ A legal professional will read each contract thoroughly to understand the terms and
conditions and highlight risks or relevant information.
Contract Review Cont ..
▪ The software quality element that reduces the probability of such undesirable situations
is Contract Review which is the SQA component devised to guide review drafts of
proposal and contract documents.
1. Review final proposal draft and customer’s requirement documents and explanations of
requirements, costs, resources, maybe with partners/subcontractors by reviewing the
proposed draft prior to submission to potential customer.
2. Review draft on the basis of the proposal and understandings reached during the
contract negotiation sessions by reviewing the contract prior to signing. Major activities
and elaborate checklists are often used.
Contract Draft Review Objectives
▪ In the contract draft no unclarified issues remain.
▪ Correctly documented are all understandings reached subsequent to the proposal.
▪ No “new” changes, additions, or omissions that have not been fully discussed have
entered the contract draft.
Development and Quality Plans
▪ The development and quality plan objectives are scheduling development activities that
will lead to the successful and timely completion of the project, recruiting team members
and allocating development resources, resolving development risks, implementing
required SQA activities, providing management with data needed for project control.
▪ Specifying the quality standards, practices, resources, specifications and the sequence
of activities relevant to a particular product, service, project, or contract is a document,
or several documents that is a quality plan.
Quality Plans should Define
▪ The objectives to be attained such as characteristics or specifications, uniformity,
effectiveness, aesthetics, cycle time, cost, natural resources, utilization, yield and
dependability.
▪ The operating practice or procedures of the organization constitute the steps in the
processes.
▪ During the different phases of the process or project allocation of responsibilities,
authority and resources.
▪ Specific documented standards, practices, procedures and instructions to be applied.
Quality Plans should Define Cont ..
▪ At appropriate stages suitable testing, inspection, examination, and audit programs.
▪ As a process is improved a documented procedure for changes and modifications to a
quality plan.
▪ A method for measuring the achievement of the quality objectives.
▪ Other actions necessary to meet the objectives.
Quality Plans should Define Cont ..
▪ At the highest level, quality goals and plans should be integrated with overall strategic plans of
the organization.
▪ At lower levels, the quality plan assumes the role of an actionable plan. Such plans may take
many different forms depending on the outcome they are to produce.
In the project development plan the main issues treated are:
▪ Schedules
▪ Manpower and hardware resources required
▪ Risk evaluations
▪ Team members, subcontractors and partnerships are organizational issues
▪ Project methodology, development tools, etc.
▪ Software reuse plans
Quality Plans should Define Cont ..
In the project’s quality plan, the main issues treated are:
▪ Quality goals, expressed in the appropriate measurable terms.
▪ Criteria for starting and ending each project stage.
▪ Lists of reviews, tests, and other scheduled verification and validation activities.
Elements of the Development Plan
Project products or deliverables:
Design documents specifying dates of completion of software products (specifying
completion date and installation site), training tasks (specifying dates, participants and sites),
interfaces with existing software packages, interfaces with other software and/or hardware
development teams (cooperation and coordination links), interfaces with existing hardware.
1. Project Staff Organization
2. Control Methods
Elements of the Quality Plan
▪ Quality goals refer to the developed software system’s substantive quality requirements.
- Planned Review Activities.
- Planned Software Tests.
Elements of Development and Quality Plans
Elements of Development and Quality Plans for your Projects are:
▪ The development plan should include project products indicating “deliverables”, project
benchmarks/standards, development risks, estimates of project costs.
▪ The quality plan should include the quality goals.
Any Questions?
Thank You!
Software Testing &
Quality Assurance
SQA Components in the Project Life Cycle
Unit No. 3
Objectives
After completing this unit, you will be able to:
▪ Define the Components of Software Assurance System.
▪ Define Software Testing.
▪ Explain the Integrating Quality Activities in the Project Life
Cycle.
Introduction
▪ Integrating the quality activities in the project life cycle are included in SQA components.
Its components are review, expert opinions, software testing, software maintenance and
assuring the quality of external participant’s contributions.
▪ The components like reviews, expert opinions and finding defects in software design and
programming are included in it and in the software maintenance life cycle it includes
specializing in maintenance components and development life cycle components for
enhancing maintenance tasks.
Introduction Cont ..
▪ SQA Components in the Project Life Cycle and Strategies.
▪ Integrating Quality Activities in the Project Life Cycle.
▪ Reviews
▪ Software Testing – Strategies.
5
Introduction Cont ..
The two stages that comprise the project life cycle are:
1. The design and programming errors are detected in the development life cycle stage.
Reviews, Expert opinions, Software testing, Assurance of the quality of the sub-
contractor’s work and customer supplied parts are its components.
2. Specialized maintenance components as well as development life cycle components,
which are applied mainly for functionality improving maintenance tasks are included in
the operation-maintenance stage.
SQA Components in The Project Life Cycle
▪ Aimed at ensuring quality in software engineering processes a set of activities is SQA which
guarantees that the developed software meets and conforms the defined or standardized
quality specifications.
▪ An ongoing process within the software development life cycle, it routinely checks the
developed software to confirm that it meets the desired quality measures.
▪ To test the software SQA incorporates and implements software testing methodologies. Until
the software is complete, SQA processes test for quality in each phase of development.
▪ The software development process moves into the next phase only once the current phase
complies with the required quality standards. It works with industry standards that help in
building software quality guidelines and implementation strategies.
SQA Components in The Project Life Cycle Cont ..
A. Integrating Quality Activities in the Project Life Cycle
Testing within a life cycle model.
The characteristics of good testing include:
▪ There is a corresponding testing activity for every development activity.
▪ For a given test level the analysis and design of tests should begin during the
corresponding development activity.
▪ In reviewing documents as soon as drafts are available in the development cycle testers
should be involved.
SQA Components in The Project Life Cycle Cont ..
B. Review
A process or meeting of project personnel, managers, users, customers or other interested parties for their
comment or approval during which a work product or set of work products is presented.
The objectives of Review are:
Direct Objectives:
▪ Detection of analysis and design errors.
▪ Identification of new risks that are likely to affect completion of the project.
▪ Identification of deviations from templates and style procedures.
▪ Approval to be provided for the analysis or design product.
Indirect Objectives:
▪ For exchange of professional knowledge.
▪ Recording the analysis and design errors that will serve as a basis for future corrective actions.
SQA Components in The Project Life Cycle Cont ..
Types of Reviews:
1. Walkthrough Review
▪ For evaluation or informational purpose, it is an informal meeting.
▪ The author leads it to a group of colleagues, the author describes his work product and
comments.
2. Technical Review/Peer Review
▪ The focus is on achieving consensus about the technical content of a document in a
discussion meeting.
▪ Peer and technical experts (e.g., architects, chief designers, and key users) are included,
no management participation.
SQA Components in The Project Life Cycle Cont ..
Types of Reviews Cont ..:
3. Inspection
▪ The most formal review type that is prescribed and systematic where the roles are well-
defined (moderator, reader, and a recorder).
▪ A trained moderator (not author) usually leads it.
▪ Attendees should prepare for this type of meeting by reading through the document.
▪ A logging list is used to document the defects found.
▪ The result of the inspection meeting should be a written report.
▪ The metrics are gathered and analyzed to optimize the process.
SQA Components in The Project Life Cycle Cont ..
C. Software Testing
▪ Software testing determines the correctness, completeness and quality of software being
developed.
▪ Testing is defined as “the process of evaluating a system or system component by manual or
automated means to verify that it satisfies specified requirements or to identify differences
between expected and actual results”.
▪ Software testing is related to verification and validation. The process of ensuring that the
software is developed according to its specifications is referred to by verification which uses
techniques like reviews, analysis, inspections and walkthroughs.
▪ Verification: Is the software being developed in the right way?
▪ Validation: Is the right software being developed?
SQA Components in The Project Life Cycle Cont ..
Software Testing Cont ..
To make sure that the software is functioning in accordance with the user requirements,
software testing is performed either manually or by using automated tools. Various
advantages associated with testing are listed below:
▪ Removing errors that prevent software from producing outputs according to user
requirements.
▪ Removing errors that lead to software failure.
▪ Ensuring that the software conforms to business as well as user’s needs.
▪ Ensuring that the software is developed according to user requirements.
▪ Improving the quality of the software by removing all possible errors from it.
SQA Components in The Project Life Cycle Cont ..
▪ Software testing is aimed at identifying any bugs, errors, faults, or failures (if any) present in
the software. Errors can be present in the software on account of the following reasons:
▪ Programming errors: Programmers can make mistakes while developing the source code.
Unclear Requirements: The user is not clear about the desired requirements, or the
developers are unable to understand the user requirements in a clear and concise manner.
Software Complexity: The greater the complexity of the software, the more the scope of
committing an error (especially by an inexperienced developer).
Changing Requirements: The users usually keep on changing their requirements, and it
becomes difficult to handle such changes in the later stage of development process. Therefore,
there are chances of making mistakes while incorporating these changes in the software.
SQA Components in The Project Life Cycle Cont ..
Time Pressures: Maintaining schedule of software projects is difficult. When deadlines are
not met, the attempt to speed up the work causes errors.
Poorly Documented Code: If the code is not well documented or well written, then
maintaining and modifying it becomes difficult. This causes errors to occur.
SQA Components in The Project Life Cycle Cont ..
The software testing objectives are:
▪ To detect defects.
▪ To determine that the software satisfies specified requirements.
▪ To demonstrate that the software is fit for its purpose. The test process steps are
Planning and Control, Analysis and Design, Implementation and Execution, Reporting
and Evaluating Exit Criteria, Test Closure Activities.
SQA Components in The Project Life Cycle Cont ..
Test Planning and Control:
▪ The test planning and control has the following major tasks:
▪ Determine the scope, risks, and the testing objectives.
▪ Determine the test approach (techniques, test items, coverage, identifying and interfacing with
the teams involved in testing, test ware).
▪ Determine the required test resources (e.g., people, test environment, PCs).
▪ Schedule test analysis and design tasks, test implementation, execution and evaluation.
▪ Determine the exit criteria to know when testing is finished.
▪ Test control is an ongoing activity.
SQA Components in The Project Life Cycle Cont ..
Test Planning and Control Cont ..
▪ Monitor status and take corrective actions if necessary.
▪ Test control has the tasks: Measure and analyze the results of reviews and testing,
monitor and document progress, test coverage and exit criteria, provide information on
testing, initiate corrective actions, make decisions: To continue testing, to stop testing, to
release the software or to retain it for further work.
Software Testing Strategies
Test Strategy
▪ A test strategy is a plan for defining an approach to the Software Testing Life Cycle (STLC). In
addition, the test strategy provides the following details, which are required while writing the
test document:
➢ What technique must be used in addition to this?
➢ Which of the modules will be examined?
➢ What criteria apply for entry and exit?
➢ What kind of testing is necessary?
▪ Software testing is the process of evaluating a software application to identify if it meets
specified requirements and to identify any defects. The following are common testing
strategies:
Types of Strategies
▪ Black box testing – Tests the functionality of the software without looking at the internal
code structure.
▪ White box testing – Tests the internal code structure and logic of the software.
▪ Unit testing – Tests individual units or components of the software to ensure they are
functioning as intended.
▪ Integration testing – Tests the integration of different components of the software to
ensure they work together as a system.
▪ Functional testing – Tests the functional requirements of the software to ensure they are
met.
Types of Strategies Cont ..
▪ System testing – Tests the complete software system to ensure it meets the specified
requirements.
▪ Acceptance testing – Tests the software to ensure it meets the customer’s or end-user’s
expectations.
▪ Regression testing – Tests the software after changes or modifications have been made
to ensure the changes have not introduced new defects.
▪ Performance testing – Tests the software to determine its performance characteristics
such as speed, scalability, and stability.
▪ Security testing – Tests the software to identify vulnerabilities and ensure it meets
security requirements.
Software Testing Objectives
▪ The process of investigating and checking a program to find whether there is an error or
not and does it fulfill the requirements or not is called testing.
▪ When the number of errors found during the testing is high, it indicates that the testing
was good and is a sign of good test case.
▪ Finding an unknown error that wasn’t discovered yet is a sign of a successful and a good
test case.
▪ The main objective of software testing is to design the tests in such a way that it
systematically finds different types of errors without taking much time and effort so that
less time is required for the development of the software.
Advantages of Software Testing
▪ Improves software quality and reliability.
▪ Enhances user experience.
▪ Increases confidence.
▪ Facilitates maintenance.
▪ Reduces costs.
Disadvantages of Software Testing
▪ Time-consuming.
▪ Testing requires specialized skills and resources, which can be expensive.
▪ Unpredictable results.
▪ Delays in delivery.
Any Questions?
Thank You!

More Related Content

What's hot (20)

PPTX
Software Testing Strategies
Adeel Rasheed
 
PPTX
Software requirement and specification
Aman Adhikari
 
PDF
Cyclomatic complexity
Nikita Kesharwani
 
PDF
Black Box Testing
Testbytes
 
PPTX
White Box Testing And Control Flow & Loop Testing
Ankit Mulani
 
PPTX
Non Functional Requirement.
Khushboo Shaukat
 
PPTX
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
PPTX
Software quality assurance
Er. Nancy
 
PPTX
Defect prevention
Vamsipothuri
 
PDF
Software Process Models
Atul Karmyal
 
PPTX
Unit testing
Mani Kanth
 
PPTX
RMMM Plan
Ankit Bahuguna
 
PDF
FUZZING & SOFTWARE SECURITY TESTING
MuH4f1Z
 
PPTX
Static Testing
Dharita Chokshi
 
PDF
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
PPT
Testing
Sonali Chauhan
 
PPT
Security testing
baskar p
 
PPTX
Software Project Management
NoorHameed6
 
PPTX
SPM_UNIT-1(1).pptx
Sushant895574
 
PPSX
Cocomo model
Devan Thakur
 
Software Testing Strategies
Adeel Rasheed
 
Software requirement and specification
Aman Adhikari
 
Cyclomatic complexity
Nikita Kesharwani
 
Black Box Testing
Testbytes
 
White Box Testing And Control Flow & Loop Testing
Ankit Mulani
 
Non Functional Requirement.
Khushboo Shaukat
 
Software Configuration Management (SCM)
Er. Shiva K. Shrestha
 
Software quality assurance
Er. Nancy
 
Defect prevention
Vamsipothuri
 
Software Process Models
Atul Karmyal
 
Unit testing
Mani Kanth
 
RMMM Plan
Ankit Bahuguna
 
FUZZING & SOFTWARE SECURITY TESTING
MuH4f1Z
 
Static Testing
Dharita Chokshi
 
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Security testing
baskar p
 
Software Project Management
NoorHameed6
 
SPM_UNIT-1(1).pptx
Sushant895574
 
Cocomo model
Devan Thakur
 

Similar to software testing and quality assurance .pdf (20)

PPTX
Fault code for the whole thing is that you have a
ABDULRAHMANSANI3
 
PDF
UNIT-1 software testing chapter (must learn)
tanvipatel918261
 
PPTX
Software Testing - Software Quality
Ajeng Savitri
 
PDF
Quality Assurance in Modern Software Development
Zahra Sadeghi
 
PPT
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
PPT
Software quality assurance lecture 1
Abdul Basit
 
PPTX
Software engineering-5-1-SoftwareQuality.pptx
rnscreation20
 
PPTX
09 fse qualitymanagement
Mohesh Chandran
 
PPTX
Software Quality Assurance Introduction.pptx
HibbaTabeer
 
PPTX
CIS512_Topic1.pptx
ZeyadAlquaimi1
 
PPT
Quality Management.ppt in detail with notes
IqraHanif27
 
PPT
Reliability and Quality Issues Overview (5).ppt
Emmanuel Freeman
 
PPTX
UNIT-1-INTRO.pptxsqa assurance testing sqa
charansai981583
 
PPT
Chapter 14
Benjamin Yu
 
PPT
05_SQA_Overview.ppt
SaqibHabib11
 
PPT
1 sqa and testing concepts
sulaimanr85
 
PPT
LECTURE 1 SQA.ppt
MaryamMalik201378
 
PPT
3. quality.ppt
AkashA993877
 
PDF
Software Quality Assurance
Pramod Parajuli
 
Fault code for the whole thing is that you have a
ABDULRAHMANSANI3
 
UNIT-1 software testing chapter (must learn)
tanvipatel918261
 
Software Testing - Software Quality
Ajeng Savitri
 
Quality Assurance in Modern Software Development
Zahra Sadeghi
 
Software Quality Assurance-se412-v11.ppt
TaghreedAltamimi
 
Software quality assurance lecture 1
Abdul Basit
 
Software engineering-5-1-SoftwareQuality.pptx
rnscreation20
 
09 fse qualitymanagement
Mohesh Chandran
 
Software Quality Assurance Introduction.pptx
HibbaTabeer
 
CIS512_Topic1.pptx
ZeyadAlquaimi1
 
Quality Management.ppt in detail with notes
IqraHanif27
 
Reliability and Quality Issues Overview (5).ppt
Emmanuel Freeman
 
UNIT-1-INTRO.pptxsqa assurance testing sqa
charansai981583
 
Chapter 14
Benjamin Yu
 
05_SQA_Overview.ppt
SaqibHabib11
 
1 sqa and testing concepts
sulaimanr85
 
LECTURE 1 SQA.ppt
MaryamMalik201378
 
3. quality.ppt
AkashA993877
 
Software Quality Assurance
Pramod Parajuli
 
Ad

Recently uploaded (20)

PPTX
Animal Reproductive Behaviors Quiz Presentation in Maroon Brown Flat Graphic ...
LynetteGaniron1
 
PDF
Chemokines and Receptors Overview – Key to Immune Cell Signaling
Benjamin Lewis Lewis
 
PPTX
Q1 - W1 - D2 - Models of matter for science.pptx
RyanCudal3
 
PDF
GK_GS One Liner For Competitive Exam.pdf
abhi01nm
 
PPTX
PEDIA IDS IN A GIST_6488b6b5-3152-4a4a-a943-20a56efddd43 (2).pptx
tdas83504
 
PPTX
Lamarckism is one of the earliest theories of evolution, proposed before Darw...
Laxman Khatal
 
PDF
The Rise of Autonomous Intelligence: How AI Agents Are Redefining Science, Ar...
Kamer Ali Yuksel
 
DOCX
Analytical methods in CleaningValidation.docx
Markus Janssen
 
PDF
Refractory solid condensation detected in an embedded protoplanetary disk
Sérgio Sacani
 
PPTX
Anatomy and physiology of digestive system.pptx
Ashwini I Chuncha
 
PPTX
MODULE 2 Effects of Lifestyle in the Function of Respiratory and Circulator...
judithgracemangunday
 
PDF
The ∞ Galaxy: A Candidate Direct-collapse Supermassive Black Hole between Two...
Sérgio Sacani
 
PPTX
Qualification of DISSOLUTION TEST APPARATUS.pptx
shrutipandit17
 
PPTX
Diuretic Medicinal Chemistry II Unit II.pptx
Dhanashri Dupade
 
PDF
A proposed mechanism for the formation of protocell-like structures on Titan
Sérgio Sacani
 
PDF
crestacean parasitim non chordates notes
S.B.P.G. COLLEGE BARAGAON VARANASI
 
PDF
Annual report 2024 - Inria - English version.pdf
Inria
 
PPTX
Pratik inorganic chemistry silicon based ppt
akshaythaker18
 
PDF
Adding Geochemistry To Understand Recharge Areas - Kinney County, Texas - Jim...
Texas Alliance of Groundwater Districts
 
PDF
Pharma Part 1.pdf #pharmacology #pharmacology
hikmatyt01
 
Animal Reproductive Behaviors Quiz Presentation in Maroon Brown Flat Graphic ...
LynetteGaniron1
 
Chemokines and Receptors Overview – Key to Immune Cell Signaling
Benjamin Lewis Lewis
 
Q1 - W1 - D2 - Models of matter for science.pptx
RyanCudal3
 
GK_GS One Liner For Competitive Exam.pdf
abhi01nm
 
PEDIA IDS IN A GIST_6488b6b5-3152-4a4a-a943-20a56efddd43 (2).pptx
tdas83504
 
Lamarckism is one of the earliest theories of evolution, proposed before Darw...
Laxman Khatal
 
The Rise of Autonomous Intelligence: How AI Agents Are Redefining Science, Ar...
Kamer Ali Yuksel
 
Analytical methods in CleaningValidation.docx
Markus Janssen
 
Refractory solid condensation detected in an embedded protoplanetary disk
Sérgio Sacani
 
Anatomy and physiology of digestive system.pptx
Ashwini I Chuncha
 
MODULE 2 Effects of Lifestyle in the Function of Respiratory and Circulator...
judithgracemangunday
 
The ∞ Galaxy: A Candidate Direct-collapse Supermassive Black Hole between Two...
Sérgio Sacani
 
Qualification of DISSOLUTION TEST APPARATUS.pptx
shrutipandit17
 
Diuretic Medicinal Chemistry II Unit II.pptx
Dhanashri Dupade
 
A proposed mechanism for the formation of protocell-like structures on Titan
Sérgio Sacani
 
crestacean parasitim non chordates notes
S.B.P.G. COLLEGE BARAGAON VARANASI
 
Annual report 2024 - Inria - English version.pdf
Inria
 
Pratik inorganic chemistry silicon based ppt
akshaythaker18
 
Adding Geochemistry To Understand Recharge Areas - Kinney County, Texas - Jim...
Texas Alliance of Groundwater Districts
 
Pharma Part 1.pdf #pharmacology #pharmacology
hikmatyt01
 
Ad

software testing and quality assurance .pdf

  • 2. Introduction to Software Quality & Assurance Unit No. 1
  • 4. Objectives After completing this session, you will be able to: ▪ Define Software . ▪ Define Software Quality Assurance. ▪ Explain Software Quality Challenges.
  • 5. Introduction to Software Quality Assurance Bus. Comm. ▪ The intelligence in totality that you provide to the computer system in order to solve your problems is software. ▪ It is a set of instructions (program) and related data that guides the hardware and tells it what to do and how to do it and how to accomplish each task. ▪ Everything that “runs” on a computer from an operating system, programming languages – machine-level, assembly-level, high-level, language translators – assemblers, compilers, interpreters, platforms, frameworks, documentation to a diagnostic tool, video game, or app is software.
  • 6. Introduction to Software Quality Assurance Cont .. ▪ The software plays a key role of a mediator between the user and the computer hardware. ▪ It is an invisible component of a computer system that makes it possible for you to interact with the computer’s physical components. It is what allows you to communicate with smart phones, tablets, game boxes, media players, and similar devices. ▪ Software quality assurance is defined as: - All planned and systematic actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. - Designed to evaluate the process by which the products are developed or manufactured it is a set of activities. 6
  • 7. The Software Quality ▪ Software Quality is central to the entire process. The software should provide ease of use, stability and should be good fit to actual needs. Quality is one of the elusive things of life; you can know it when you see it, but do not know how to create it. ▪ We know how to define quality and how to achieve a degree much greater than in our own practice. Difficult to measure. Even reasonable quality requires adequate testing. ▪ Software Quality Attributes for Product Operation are: 1. Correctness: The degree to which a program satisfies its specifications and accomplishes the customer requirements. 7
  • 8. The Software Quality Cont .. 2. Reliability: The degree to which a program is expected to perform its envisioned function with required accuracy. 3. Efficiency: To perform its function the amount of computing resources and code required by a program. 4. Integrity: The degree to which access to software or data by unauthorized people can be controlled. 5. Usability: Learning, operating, preparing input and interpreting the output of a program, usability refers to the required efforts. 8
  • 9. Product Development & Production ▪ Product Development ▪ Product Production Planning ▪ Manufacturing - During the above phases, defects in an industrial product can be detected. 9
  • 10. The Software Quality Challenges Basic Problems: High Complexity Invisibility of the product Limited Opportunities to detect the defects (bugs) Challenges: 1. Unstable Environment Usually, QA teams face unstable environment setup issues that we need to prepare for most of what we have. Sometimes the server gets stuck due to overload and requires a restart many times during testing etc. 10
  • 11. The Software Quality Challenges Cont .. 2. Tools Being Force-fed Now and then, we realize that a tool is not the right choice for the project. We do not have any other option but to keep using it because the clients/organization already have licenses and would not go for a new one until the current license expires. 3. Tight Deadlines The biggest challenge QA is to receive requests for last-minute testing. The primary reasons for such demands are that the development process takes more time than expected and the time for testing is underestimated. 11
  • 12. The Software Quality Challenges Cont .. 4. Testing Documents Created By Others In the case of QA, it's faster to create a document from scratch than to use the one created by others. Using test cases created by others increases the time of verification and puts limits as far as discovering bugs. 5. Wrong Testing Estimation While trying to make an accurate estimate, some software estimations could be entirely unpredictable and go wrong. As developers, QA also doesn't have 100% security from unexpected issues. 12
  • 13. The Software Quality Challenges Cont .. 6. Fixing Bugs During Testing Developers and QA engineers should work closely. Testing should be done once part of the development process is done, and after that, bug fixing activity should start. 7. Last-Minute Changes to Requirements It is slightly common to change project requirements mid-sprint in agile development projects. While this can be frustrating for the team and due to that testers can be affected. They may need to re-try the whole extent of testing since even the littlest changes to a codebase should be gone through various tests to guarantee its steadiness and similarity with existing code. 13
  • 14. The Software Quality Challenges Cont .. 8. Insufficient Coordinated Effort Among Developers and Testers ▪ Professional differences between development and testing teams are still common. ▪ Developers think that testing is a final process of the software development life cycle, and testers do not require anything apart from a list of user journeys and technical requirements. ▪ However, testers may have difficulty identifying flaws in the code if they are not acquainted with the development process. ▪ If they do not understand how the software works, they will have trouble creating test cases to find all possible bugs. 14
  • 15. Software Quality The quality of software can be defined as the ability of the software to function as per user requirement. When it comes to software products it must satisfy the following Factors: 1) Good Design – It’s always important to have a good and aesthetic design to please users. 2) Reliability – Be it any software it should be able to perform the functionality impeccably without issues. 3) Durability - Durability is a confusing term, In this context, durability means the ability of the software to work without any issue for a long period of time.
  • 16. Software Quality Cont .. 4) Consistency – Software should be able to perform consistently over platform and devices. 5) Maintainability – Bugs associated with any software should be able to capture and fix quickly and news tasks and enhancement must be added without any trouble 6) Value for money – Customer and companies who make this app should feel that the money spent on this app has not gone to waste.
  • 17. Software Quality Factors Management ▪ Software factors are the factors which influence the software. These factors can be classified into two categories, the classification being done based on measurability. ▪ The factors that can be measured directly such as number of logical errors is the first category and those factors which can be measured only indirectly, for example, maintainability is clubbed in the second category. ▪ To check for the content and the quality control, however, each of the factors are to be measured. The factors of quality are:
  • 18. Software Quality Factors Management ▪ Correctness: Degree to which a program satisfies its specification and fulfils the client’s objectives. ▪ Reliability: Degree to which a program is supposed to perform its function with the required precision. ▪ Efficiency: To perform its function amount of computing and code required by a program. ▪ Integrity: Degree to which access to software and data is denied to unauthorized users. ▪ Usability: Labor required to understand, operate, prepare input and understand output of a program.
  • 19. Software Quality Factors Management ▪ Maintainability: To locate and fix an error in a program the effort required. ▪ Flexibility: To modify an operational program the effort needed. ▪ Testability: To test the programs for their functionality the effort required. ▪ Portability: To run the program from one platform too other or too different hardware the effort required. ▪ Reusability: Degree to which the program or its parts can be used as building blocks or as prototypes for other programs. ▪ Interoperability: To couple one system to another the effort require
  • 20. Software Quality Factors Management There are various ‘checklists’ for software quality: ▪ Functionality by evaluating the generality of the functions that are derived, the feature set and the program capabilities, and the overall security of the system this is measured. ▪ Usability is assessed by considering human factors, overall aesthetics, consistency and documentation. ▪ By evaluating the frequency and severity of failure, the accuracy of output results, the mean time between failure (MTBF), the ability to recover from failure and the predictability of the program Reliability is figured out.
  • 21. Software Quality Factors Management ▪ By measuring processing speed, response time, resource consumption, throughput and efficiency Performance is measured. ▪ The ability to extend the program, adaptability, serviceability or in other terms maintainability and testability, compatibility, configurability and the ease with which a system can be installed are combined in Supportability.
  • 22. Software Quality Factors Management ▪ A series of planned, systematic sequential actions that enable the quality of software produced is Software Quality Assurance. All software development units usually have their own SQA team. ▪ This SQA team takes care of the quality at the high end that is the overall product and at the lower order the quality is the sole responsibility of the individual who may engineer, review and test at any level. ▪ A characteristic of the software produced must be software quality and thus rather to be imposed later it is designed into it.
  • 23. Software Quality Factors Management ▪ It is the duty of every individual in the software development team that quality is maintained even before some formal quality assurance procedures are applied. This practice improves the quality of all software produced by the organization. ▪ Application of technical methods, conducting formal technical reviews (FTR), software testing, control of change, measurement and record keeping and reporting are the activities involved in SQA.
  • 24. Software Quality Factors Role in SQA ▪ As for software development, we know that every project is different and has its own unique characteristics and challenges. ▪ There is no magic recipe is a well-known fact when it comes to developing software projects or quality assurance processes. However, there are key elements to consider that can ensure grade A quality assurance: 1. Know the Business Logic: There are different roles within a software project, such as the Product Owner. It is very common for this person to have all the information regarding the product. In general terms, the Product Owner only shares information directly related to the part of the project that is going to be developed.
  • 25. Software Quality Factors Role in SQA 2. Know the Programming Language: There is a programming language for every need, be it for mobile, desktop, or web apps. Though it is almost impossible to know all programming languages, it is essential to have knowledge of those that apply to projects that a quality engineer will be working on. 3. Let the Quality Engineer Take Ownership: An important role is played by the Product Owner in every software project; however, it is important for the quality engineer to take ownership of the project as this contributes to effective decision making. 4. Let the Quality Engineer Provide Solutions: From the very beginning of software quality assurance, it was understood that a quality engineer’s main task was to report errors. Yet this is only one of their multiple tasks.
  • 29. Components of Software Quality Assurance Unit No. 2
  • 30. Components of the Software Quality Assurance System
  • 31. Objectives After completing this session, you will be able to: ▪ Define the Components of Software Assurance System. ▪ Define the Contract Review of Software Quality Assurance. ▪ Explain the Development & Quality Plans.
  • 32. Components of Software Quality Assurance ▪ Pre-project Components ▪ Project Life Cycle Activities Assessment Components ▪ Components of Infrastructure Error Prevention and Improvement ▪ Software Quality Management Component ▪ Standardization, Certification, and SQA System Assessment Components ▪ The Human Components 5
  • 33. Pre-project Components: ▪ Considering the resources required, the schedule and budget this assures that the project commitments have been clearly defined and the development and quality plans have been correctly determined.
  • 34. Project Life Cycle Activities Assessment Components ▪ The development life cycle and the operation – maintenance are the two stages of the project life cycle: ▪ The detection of design and programming errors is carried out by the components of the development life cycle stage. ▪ Reviews, Expert opinions and Software testing are the sub-classes in which these components are divided into. ▪ Applied mainly for functionality to improve the maintenance tasks the SQA components used during the operation – maintenance phase includes specialized maintenance components as well as development life cycle components.
  • 35. Components of Infrastructure Error Prevention and Improvement ▪ The objective of these components, which is applied throughout the entire organization, is to eliminate or at least reduce the rate of errors, based on the organization’s accumulated SQA experience: 1. Software quality management components 2. Standardization, Certification and SQA system assessment components 3. Organizing for SQA – the human component
  • 36. Software Quality Management Component ▪ The managerial SQA components support the managerial control of software development projects and maintenance services. The control components include Project progress control, Software quality metrics, Software quality costs: 1. Project Progress Control 2. Software Quality Metrics 3. Software Quality Costs
  • 37. Standardization, Certification, and SQA System Assessment Components ▪ The objective is to utilize international professional knowledge, professional evaluation and measurement of the organization’s SQA achievement. Classified into two sub- classes are the standards available: Quality management standards and Project process standards: 1. Quality Management Standards 2. Project Process Standards
  • 38. The Human Components ▪ The individuals related with SQA are put together in this phase who include supervisors, trying staff, SQA trustees, SQA panel individuals, and SQA gathering people. Separately each of them adds to start and support the execution of SQA parts, distinguish deviations from SQA strategy and approach, and propose upgrades. ▪ Software projects developed by software houses for the use of other companies are usually known as external projects or outside-contracted projects. Usually characterized by strong/tight customer-supplier relationship. ▪ Software projects developed by one unit of an organization to another unit in the same organization is usually known as internal project or in-house projects usually characterized by weak/loose customer-supplier relationship.
  • 39. Contract Review ▪ Contracts are vitally important. When delivered software does not perform as expected they are the basis for litigation. ▪ The bad contracts arise out of poorly defined requirements and unrealistic budgets and schedules. ▪ The result is poor quality software. Preventive Quality Assurance starts with a discussion of Contracts. ▪ A contract review is a contractual process used to identify and analyze the key provisions within an agreement. ▪ A legal professional will read each contract thoroughly to understand the terms and conditions and highlight risks or relevant information.
  • 40. Contract Review Cont .. ▪ The software quality element that reduces the probability of such undesirable situations is Contract Review which is the SQA component devised to guide review drafts of proposal and contract documents. 1. Review final proposal draft and customer’s requirement documents and explanations of requirements, costs, resources, maybe with partners/subcontractors by reviewing the proposed draft prior to submission to potential customer. 2. Review draft on the basis of the proposal and understandings reached during the contract negotiation sessions by reviewing the contract prior to signing. Major activities and elaborate checklists are often used.
  • 41. Contract Draft Review Objectives ▪ In the contract draft no unclarified issues remain. ▪ Correctly documented are all understandings reached subsequent to the proposal. ▪ No “new” changes, additions, or omissions that have not been fully discussed have entered the contract draft.
  • 42. Development and Quality Plans ▪ The development and quality plan objectives are scheduling development activities that will lead to the successful and timely completion of the project, recruiting team members and allocating development resources, resolving development risks, implementing required SQA activities, providing management with data needed for project control. ▪ Specifying the quality standards, practices, resources, specifications and the sequence of activities relevant to a particular product, service, project, or contract is a document, or several documents that is a quality plan.
  • 43. Quality Plans should Define ▪ The objectives to be attained such as characteristics or specifications, uniformity, effectiveness, aesthetics, cycle time, cost, natural resources, utilization, yield and dependability. ▪ The operating practice or procedures of the organization constitute the steps in the processes. ▪ During the different phases of the process or project allocation of responsibilities, authority and resources. ▪ Specific documented standards, practices, procedures and instructions to be applied.
  • 44. Quality Plans should Define Cont .. ▪ At appropriate stages suitable testing, inspection, examination, and audit programs. ▪ As a process is improved a documented procedure for changes and modifications to a quality plan. ▪ A method for measuring the achievement of the quality objectives. ▪ Other actions necessary to meet the objectives.
  • 45. Quality Plans should Define Cont .. ▪ At the highest level, quality goals and plans should be integrated with overall strategic plans of the organization. ▪ At lower levels, the quality plan assumes the role of an actionable plan. Such plans may take many different forms depending on the outcome they are to produce. In the project development plan the main issues treated are: ▪ Schedules ▪ Manpower and hardware resources required ▪ Risk evaluations ▪ Team members, subcontractors and partnerships are organizational issues ▪ Project methodology, development tools, etc. ▪ Software reuse plans
  • 46. Quality Plans should Define Cont .. In the project’s quality plan, the main issues treated are: ▪ Quality goals, expressed in the appropriate measurable terms. ▪ Criteria for starting and ending each project stage. ▪ Lists of reviews, tests, and other scheduled verification and validation activities.
  • 47. Elements of the Development Plan Project products or deliverables: Design documents specifying dates of completion of software products (specifying completion date and installation site), training tasks (specifying dates, participants and sites), interfaces with existing software packages, interfaces with other software and/or hardware development teams (cooperation and coordination links), interfaces with existing hardware. 1. Project Staff Organization 2. Control Methods
  • 48. Elements of the Quality Plan ▪ Quality goals refer to the developed software system’s substantive quality requirements. - Planned Review Activities. - Planned Software Tests.
  • 49. Elements of Development and Quality Plans Elements of Development and Quality Plans for your Projects are: ▪ The development plan should include project products indicating “deliverables”, project benchmarks/standards, development risks, estimates of project costs. ▪ The quality plan should include the quality goals.
  • 53. SQA Components in the Project Life Cycle Unit No. 3
  • 54. Objectives After completing this unit, you will be able to: ▪ Define the Components of Software Assurance System. ▪ Define Software Testing. ▪ Explain the Integrating Quality Activities in the Project Life Cycle.
  • 55. Introduction ▪ Integrating the quality activities in the project life cycle are included in SQA components. Its components are review, expert opinions, software testing, software maintenance and assuring the quality of external participant’s contributions. ▪ The components like reviews, expert opinions and finding defects in software design and programming are included in it and in the software maintenance life cycle it includes specializing in maintenance components and development life cycle components for enhancing maintenance tasks.
  • 56. Introduction Cont .. ▪ SQA Components in the Project Life Cycle and Strategies. ▪ Integrating Quality Activities in the Project Life Cycle. ▪ Reviews ▪ Software Testing – Strategies. 5
  • 57. Introduction Cont .. The two stages that comprise the project life cycle are: 1. The design and programming errors are detected in the development life cycle stage. Reviews, Expert opinions, Software testing, Assurance of the quality of the sub- contractor’s work and customer supplied parts are its components. 2. Specialized maintenance components as well as development life cycle components, which are applied mainly for functionality improving maintenance tasks are included in the operation-maintenance stage.
  • 58. SQA Components in The Project Life Cycle ▪ Aimed at ensuring quality in software engineering processes a set of activities is SQA which guarantees that the developed software meets and conforms the defined or standardized quality specifications. ▪ An ongoing process within the software development life cycle, it routinely checks the developed software to confirm that it meets the desired quality measures. ▪ To test the software SQA incorporates and implements software testing methodologies. Until the software is complete, SQA processes test for quality in each phase of development. ▪ The software development process moves into the next phase only once the current phase complies with the required quality standards. It works with industry standards that help in building software quality guidelines and implementation strategies.
  • 59. SQA Components in The Project Life Cycle Cont .. A. Integrating Quality Activities in the Project Life Cycle Testing within a life cycle model. The characteristics of good testing include: ▪ There is a corresponding testing activity for every development activity. ▪ For a given test level the analysis and design of tests should begin during the corresponding development activity. ▪ In reviewing documents as soon as drafts are available in the development cycle testers should be involved.
  • 60. SQA Components in The Project Life Cycle Cont .. B. Review A process or meeting of project personnel, managers, users, customers or other interested parties for their comment or approval during which a work product or set of work products is presented. The objectives of Review are: Direct Objectives: ▪ Detection of analysis and design errors. ▪ Identification of new risks that are likely to affect completion of the project. ▪ Identification of deviations from templates and style procedures. ▪ Approval to be provided for the analysis or design product. Indirect Objectives: ▪ For exchange of professional knowledge. ▪ Recording the analysis and design errors that will serve as a basis for future corrective actions.
  • 61. SQA Components in The Project Life Cycle Cont .. Types of Reviews: 1. Walkthrough Review ▪ For evaluation or informational purpose, it is an informal meeting. ▪ The author leads it to a group of colleagues, the author describes his work product and comments. 2. Technical Review/Peer Review ▪ The focus is on achieving consensus about the technical content of a document in a discussion meeting. ▪ Peer and technical experts (e.g., architects, chief designers, and key users) are included, no management participation.
  • 62. SQA Components in The Project Life Cycle Cont .. Types of Reviews Cont ..: 3. Inspection ▪ The most formal review type that is prescribed and systematic where the roles are well- defined (moderator, reader, and a recorder). ▪ A trained moderator (not author) usually leads it. ▪ Attendees should prepare for this type of meeting by reading through the document. ▪ A logging list is used to document the defects found. ▪ The result of the inspection meeting should be a written report. ▪ The metrics are gathered and analyzed to optimize the process.
  • 63. SQA Components in The Project Life Cycle Cont .. C. Software Testing ▪ Software testing determines the correctness, completeness and quality of software being developed. ▪ Testing is defined as “the process of evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results”. ▪ Software testing is related to verification and validation. The process of ensuring that the software is developed according to its specifications is referred to by verification which uses techniques like reviews, analysis, inspections and walkthroughs. ▪ Verification: Is the software being developed in the right way? ▪ Validation: Is the right software being developed?
  • 64. SQA Components in The Project Life Cycle Cont .. Software Testing Cont .. To make sure that the software is functioning in accordance with the user requirements, software testing is performed either manually or by using automated tools. Various advantages associated with testing are listed below: ▪ Removing errors that prevent software from producing outputs according to user requirements. ▪ Removing errors that lead to software failure. ▪ Ensuring that the software conforms to business as well as user’s needs. ▪ Ensuring that the software is developed according to user requirements. ▪ Improving the quality of the software by removing all possible errors from it.
  • 65. SQA Components in The Project Life Cycle Cont .. ▪ Software testing is aimed at identifying any bugs, errors, faults, or failures (if any) present in the software. Errors can be present in the software on account of the following reasons: ▪ Programming errors: Programmers can make mistakes while developing the source code. Unclear Requirements: The user is not clear about the desired requirements, or the developers are unable to understand the user requirements in a clear and concise manner. Software Complexity: The greater the complexity of the software, the more the scope of committing an error (especially by an inexperienced developer). Changing Requirements: The users usually keep on changing their requirements, and it becomes difficult to handle such changes in the later stage of development process. Therefore, there are chances of making mistakes while incorporating these changes in the software.
  • 66. SQA Components in The Project Life Cycle Cont .. Time Pressures: Maintaining schedule of software projects is difficult. When deadlines are not met, the attempt to speed up the work causes errors. Poorly Documented Code: If the code is not well documented or well written, then maintaining and modifying it becomes difficult. This causes errors to occur.
  • 67. SQA Components in The Project Life Cycle Cont .. The software testing objectives are: ▪ To detect defects. ▪ To determine that the software satisfies specified requirements. ▪ To demonstrate that the software is fit for its purpose. The test process steps are Planning and Control, Analysis and Design, Implementation and Execution, Reporting and Evaluating Exit Criteria, Test Closure Activities.
  • 68. SQA Components in The Project Life Cycle Cont .. Test Planning and Control: ▪ The test planning and control has the following major tasks: ▪ Determine the scope, risks, and the testing objectives. ▪ Determine the test approach (techniques, test items, coverage, identifying and interfacing with the teams involved in testing, test ware). ▪ Determine the required test resources (e.g., people, test environment, PCs). ▪ Schedule test analysis and design tasks, test implementation, execution and evaluation. ▪ Determine the exit criteria to know when testing is finished. ▪ Test control is an ongoing activity.
  • 69. SQA Components in The Project Life Cycle Cont .. Test Planning and Control Cont .. ▪ Monitor status and take corrective actions if necessary. ▪ Test control has the tasks: Measure and analyze the results of reviews and testing, monitor and document progress, test coverage and exit criteria, provide information on testing, initiate corrective actions, make decisions: To continue testing, to stop testing, to release the software or to retain it for further work.
  • 70. Software Testing Strategies Test Strategy ▪ A test strategy is a plan for defining an approach to the Software Testing Life Cycle (STLC). In addition, the test strategy provides the following details, which are required while writing the test document: ➢ What technique must be used in addition to this? ➢ Which of the modules will be examined? ➢ What criteria apply for entry and exit? ➢ What kind of testing is necessary? ▪ Software testing is the process of evaluating a software application to identify if it meets specified requirements and to identify any defects. The following are common testing strategies:
  • 71. Types of Strategies ▪ Black box testing – Tests the functionality of the software without looking at the internal code structure. ▪ White box testing – Tests the internal code structure and logic of the software. ▪ Unit testing – Tests individual units or components of the software to ensure they are functioning as intended. ▪ Integration testing – Tests the integration of different components of the software to ensure they work together as a system. ▪ Functional testing – Tests the functional requirements of the software to ensure they are met.
  • 72. Types of Strategies Cont .. ▪ System testing – Tests the complete software system to ensure it meets the specified requirements. ▪ Acceptance testing – Tests the software to ensure it meets the customer’s or end-user’s expectations. ▪ Regression testing – Tests the software after changes or modifications have been made to ensure the changes have not introduced new defects. ▪ Performance testing – Tests the software to determine its performance characteristics such as speed, scalability, and stability. ▪ Security testing – Tests the software to identify vulnerabilities and ensure it meets security requirements.
  • 73. Software Testing Objectives ▪ The process of investigating and checking a program to find whether there is an error or not and does it fulfill the requirements or not is called testing. ▪ When the number of errors found during the testing is high, it indicates that the testing was good and is a sign of good test case. ▪ Finding an unknown error that wasn’t discovered yet is a sign of a successful and a good test case. ▪ The main objective of software testing is to design the tests in such a way that it systematically finds different types of errors without taking much time and effort so that less time is required for the development of the software.
  • 74. Advantages of Software Testing ▪ Improves software quality and reliability. ▪ Enhances user experience. ▪ Increases confidence. ▪ Facilitates maintenance. ▪ Reduces costs.
  • 75. Disadvantages of Software Testing ▪ Time-consuming. ▪ Testing requires specialized skills and resources, which can be expensive. ▪ Unpredictable results. ▪ Delays in delivery.