Professional Documents
Culture Documents
SQE Week 2 Lecture
SQE Week 2 Lecture
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.
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
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
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 Testing
33