Stqa 5
Stqa 5
ASSURANCE
Prof. Yassir Farooqui, Assistant Professor
Computer Science Engineering
CHAPTER:5
SOFTWARE QUALITY ASSURANCE
CONCEPTS AND STANDARDS
Topics to be Covered
• Quality Concepts
• Test Strategies for Conventional and OO types
• Unit Testing
• Integration Testing
• Validation Testing
• SystemTesting
•Security Testing, Stress Testing, Performance Testing
• Metrics for Source Code, Metrics for Testing
•Debugging Process, Debugging Strategies
Quality Concepts
•The concept of software quality is more complex than what common
people tend to believe.
•set of characteristics that allows us to rank things as better or worse than
other similar ones.
•Different attempts to define software quality as a complex concept that
can be decomposed
• In more detailed characteristics have been presented since 1970s.
• Metrics proposed by Mc call were clearly obsolete
Mc Call’s Quality Factors
Quality Control
• Quality management is a collection of strategies for achieving quality
parameters used by organisations.
•Quality targets and constantly enhance the capacity of the company to
ensure that quality goals are met by a software product.
•Quality management includes inspection of units and deciding if they are
beyond the final product requirements.
•The aim of the testing is to assess any need in the production process for
corrective measures.
•The quality control used in a organisation is extremely high.
Quality Control
•It is a method of software engineering used in a product or a service to
ensure consistency.
•The methods used to make a commodity are not dealt with.
•It investigates the consistency and the final outcome of the "end goods"
•Quality control 's main goal is to verify if the goods follow the customer's
expectations and requirements.
•It has to be resolved before distribution to the customer if a malfunction or
problem is found.
.
Example
•The three class parameters that control software quality are:
Products
Processes
• .
Resources
• The method of complete quality control :
• Plan-It is the stage where the processes of
quality management are designed.
• Do-Use specified parameters for quality
production
• Check-A stage to check if the consistency of
the parameters is met.
• Act-If necessary , take corrective steps and
Quality Assurance
• Assurance is nothing but an optimistic statement that gives trust in a
product or service.
•It's a result or a service 's trust that it will perform well.
•It offers an assurance that, according to expectations or requirements, the
product will operate without any problems.
•Quality assurance focuses on enhancing and making the software
development process successful.
•Effective for products according to the quality standards established
•Quality Assurance is commonly referred to as QA Checking.
Quality Assurance
•Software quality assurance (SQA) is a mechanism that ensures that
approaches are used for all software engineering processes.
•Activities and work items shall be tracked and shall comply with the
standards specified.
•These specified standards could be one or a combination of all such
standards, such as ISO 9000, CMMI, ISO15504, etc.
•SQA combines all phases of software development from the description of
specifications to coding until publication.
•Its primary purpose is to guarantee consistency.
SQA Activities
1) Creating an SQA Management Plan
2) Setting the Checkpoints:
3) Apply software Engineering Techniques:
4) Executing Formal Technical Reviews:
5) Having a Multi- Testing Strategy:
6) Enforcing Process Adherence:
7) Controlling Change:
8) Measure Change Impact:
9) Performing SQA Audits:
10) Maintaining Records and Reports:
SQA Activities
1)Creating a Plan for SQA Management
The primary task involves setting up a proper plan for how the SQA will be
carried out in your project.
Along with what SQA plan you will follow.
What engineering tasks will be done, and it also means ensuring that in
your team you have a proper talent mix.
2) Configuring the checkpoints:
The SQA community defines numerous checkpoints according to which it
evaluates.
At each checkpoint, the quality of the project activities
This ensures that regular quality inspection and working as per the
schedule.
SQA Activities
3) Apply Engineering Techniques software
• The implementation of such software engineering methods allows a
software designer to achieve high-quality requirements.
• A designer can use methods such as interviews and Quick (Functional
Analysis System Technique) for gathering information.
• Techniques such as WBS (structure of work breakdown), SLOC (code
source line), and estimation of FP(functional point).
• Moderator
• Reader
• Reviewer
• Recorder (optional?)
Review Guidelines
1. Reviews of an identity we can check must be submitted.
We must be able to verify your identity, even though you wish to display
your review anonymously.
To help to facilitate this verification, we encourage you to log in via
LinkedIn.
2. Reviewers do not have a conflict of interest with the reviewed product.
Vendors, their staff, or anyone with a financial interest in a product's
success.
They are not eligible to check their own brand or a rival's.
3. The real reviewer must post reviews.
We do not allow reviews to be posted on behalf of others or under an
assumed name, in compliance with our verification process.
Review Guidelines
4. Reviews must contain original content.
• We do not allow reviews to be copied from another source, including
our own website.
5. Reviews must not contain abusive, hateful, threatening, or harassing
content.
• We do not allow reviews to contain personal threats, obscenities, or
hate speech.
6. Reviews must provide honest feedback about the product being
reviewed and must not be used to deliberately promote or disparage
another product.
7. Reviews must not violate any legal agreements.
• A review must not violate any third party confidentiality, non-disclosure,
or contractual obligations.
Software Reliability
• A software's reliability can be described as a software that has no failure
and works with a specific environment in a special time span.
• It is possible to describe the probability of failure with the probability
that the programme will fail at the next selected input.
• The following points can describe the reliability of software.
• The Software's Precision.
• Presence of zero-percent device failure.
• To meet the user's needs.
• Error avoidance ability.
• Capacity of recuperation.
• Application sophistication.
Software Reliability
• Different Reliability of hardware because it doesn't age, wear out, rust,
deform or crack!
•Usually, software remains in the same state as when it was developed,
unless hardware-induced changes occur.
•We might presume the software doesn't really "break," like changes in the
storage content or data path.
•In software systems , physical errors are still found.
•Software reliability, along with functionality, is an integral attribute of
software quality.
•Usability, consistency, serviceability.
Software Reliability
Software characteristics vs hardware
• Failure cause: Defects in software are primarily defects in design.
• Wear-out: Software does not have a wear-out phase associated with
electricity. Without alert, errors may occur.
• Repairable machine idea: Frequent restarts will help repair issues with
apps.
• Time dependence and life cycle: operating time is not a function of
software reliability.
Software Reliability
• Environmental variables: Do not affect the efficiency of software, except
that programme inputs can be affected.
• Prediction of reliability: Reliability of software can not be predicted on
any physical basis, as it totally depends on human design factors.
• Redundancy: If similar software components are used, software
reliability can not be changed.
Software Safety
• Ensures the software runs within the framework of a system without
creating an unreasonable risk
• Functions of safety-critical apps
• Allowing a risky machine state to occur directly or indirectly
• Technology Vital to Protection
• It contains security-critical functions.
• Over time, inputs and outputs
• Subsystem for Monitoring
• Function overview to be done
• Operational constraints specification (quality, power, operation, and
protection) Safety constraints are hazards that are rewritten as
limitations
• Safety constraints written, maintained, and audited separately
Software Safety
Software Safety
Software would be "secure" if ...
• It has features and protocols to ensure that it operates predictably in
regular and abnormal conditions.
• It has features and processes to ensure that it performs.
• Minimizing the risk of an unexpected event occurring in that
programme
• If an unexpected occurrence occurs, the results are regulated and
contained.
• RTCA DO-178CC Aerospace Systems-SAE AS9006A Aircraft-
• Cars-BS ISO 26262; SAE JA 1002 BS ISO 26262; SAE JA
100262;Information Technology Equipment – IEC 60950-1
• Nuclear Power – ANSI/IEEE 7-4.3.2
• Railway Systems - BS EN 50128
Software Safety
• Right deliberate machine functions?