Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 32

Software Quality

Engineering
LECTURE 2
Software Quality
Free from errors
Confirms to the specified requirements (Quality Factors
should be fulfilled)

2
Is it possible for such a variation in users’ experience?

3
Basic Terms- Brainstorm

Error
Fault
Failure

4
5
Basic definitions
Software Error – made by programmer
◦ Syntax error
◦ Logic error

Software Fault –
◦ All software errors may not cause software faults
◦ That part of the software may not be executed
◦ (An error is present but not encountered….)
Basic definitions
Software Failures
A software fault becomes a software failure
when/if it is activated.

◦ Some runs result in failures; some not.

◦ Example: standard software running in


different client shops.
What can be various causes of errors?
As software errors are the cause of poor software quality, it is important to investigate the
causes of these errors in order to prevent them

8
1. Erroneous definition of requirements.
For instance, one of the requirements of a municipality’s local tax software
system refers to discounts granted to various segments of the population: senior
citizens, parents of large families, and so forth. Unfortunately, a discount granted
to students was not included in the requirements document.

9
2. Client–developer communication
failures
Misunderstanding of :
client’s instructions
 changes
 verbal changes
Client’s response to prototype

10
3. Deliberate deviations from software
requirements
The errors in these cases are byproducts of the changes.
Reuse of software module.
Omitting a part due to time/budget constraints
Initiating unapproved requirement without client’s approval

11
4. Logical Design Errors
Erroneous algorithms
Sequencing errors
Erroneous boundary conditions
Omission of required software system states
Omission of response to illegal operations

12
5. Coding Errors
Syntax errors
Run time errors (Crash during execution)

13
6. Non-compliance with documentation
and coding instructions
Who need to coordinate their own codes with code modules developed by “non-complying”
team member
Individuals replacing the “non-complying” team member
The design review team will find it more difficult to review
Team members required to correct the detected errors can be expected to encounter greater
difficulties when doing so

14
7. Shortcomings of the testing process
Incomplete test plans
Failures to document and report detected errors
Failure to promptly correct detected software faults
 Due to time constraint
 Due to inappropriate indication to reason of the fault

15
8. Procedure Errors

16
9. Documentation errors
error in the user manuals
errors in “help” displays incorporated in the software

Omission of software functions.


 Errors in the explanations and instructions
Listing of non-existing software functions

18
Causes of Error
◦ Faulty requirements definition
◦ Client-developer communication failures
◦ Deliberate deviations from software requirements
◦ Logical design errors
◦ Coding errors
◦ Non-compliance with documentation and coding instructions
◦ Shortcomings of the testing process
◦ Procedure errors
◦ Documentation errors
Software Quality
assurance

20
The characteristics of Sqa environment
process
Being contracted
Subjection to customer-supplier relationship
Requirement for teamwork
Need for cooperation and coordination with other development teams
Need for interfaces with other software systems
Need to continue carrying out a project while the team changes
Need to continue maintaining the software system for years
Sqa environment
Being Contracted:
◦ Professional software development is almost always contracted.
◦ Have requirements / supplied requirements (hopefully)
◦ But may have in-house customer representatives.
◦ Or, customer representatives available…
◦ Budget
◦ Time schedule
Sqa environment
Subject to Customer-Supplier Relationship
◦ In professional software development, there is a constant (hopefully) oversight between
customer and developer.
◦ Changes will occur;
◦ Criticisms will arise.
◦ Cooperation is critical to overall project success.
◦ Customer availability / relationship is essential and often problematic whether reps are
in-house or not.
Sqa environment
Required Teamwork
◦ We need teams due to
◦ Time required for development.
◦ Workload is too much for a single person
◦ A frequent variety of experts needed
◦ Database; networking; algorithms; …
◦ Need ‘independent’ reviews to ensure quality (me)
◦ Who is ‘on the team?’
◦ Developers Clients Customers Others???
Sqa environment
Cooperation and Coordination with Other Software Teams
◦ May be partially outsourced thus requiring cooperation
◦ Outsourced  overseas?
◦ Many potential problems here … and benefits.
◦ May be that specialized hardware requires cooperation.
◦ Other teams may have developed similar software for the client and can offer
tremendous help.
COOPERATION AND COORDINATION
SCHEME FOR A SOFTWARE DEVELOPMENT PROJECT TEAM
Sqa environment
Interfaces with Other Systems
◦ Interface, link to, import, include other packages containing, say, libraries of
perhaps classes / packages to assist in development.
◦ Standardization considerations in interfaces
◦ May need to cooperate with inputs coming from other systems and outputs
requiring special formats that serve as inputs to other systems…
◦ Do you think Billing, Payroll, Accounts Payable are all distinct systems???
Attendance
control
system

Input interface Monthly attendance report,


including overtime calculations
Salary
processing
system

Output interface Money transfers to employees’


bank account accounts
Bank
information
systems
Sqa environment
Need to Continue Project despite Team Changes
◦ Team members leave, are hired, fired, take unexpected vacations, transferred within the
company, and more.
◦ Maddening truism, but the development must continue.
◦ You can count on disruption!
Sqa environment
Need to continue Software Maintenance for an Extended Period
◦ Whether external customers or in-house customers, follow-on maintenance is typical
and for many years!!
◦ Highly desirable from management/enterprise perspective
SQA must address development, operations, and maintenance! (next chapter)
Software Quality Assurance
Software Quality Assurance (SQA) is
■ A planned and systematic pattern of all actions necessary to provide adequate
confidence that an item or product conforms to established technical
requirements.
■ A set of activities designed to evaluate the process by which products are
developed or manufactured. (IEEE 610)

31
Software Quality CONTROL VS Quality
Assurance
Quality Control is defined as a designed to evaluate the quality of a set of activities
developed or manufactured product
◦ We have QC inspections during development and before deployment
◦ QC activities are only a part of the total range of QA activities.
Quality Assurance’s objective is to minimize the cost of guaranteeing quality by a variety
of activities performed throughout the development / manufacturing processes / stages.
◦ Activities prevent causes of errors; detect and correct them early in the development
process

32
Software Quality CONTROL VS Quality
Assurance
◦ QA substantially reduces the rate of products that do not qualify for shipment and/at
the same time, reduce the costs of guaranteeing quality in most cases.

Software Quality Assurance

Software Quality Control

Software Testing

33

You might also like