Software Quality – Lecture # 1
COMP 10066
Week 2 Lecture
Copyright By PowCoder代写 加微信 powcoder
What is a Software Specification?
A Software Specification is a description of the correct operation of an application
Can be provided as a list of requirements
The specification is used to inform the design of the product.
How can requirements be written to make them testable?
http://www.cqaa.org/Resources/Documents/Presentations%202010/Writing%20Testable%20Requirements.pdf
You may want to go over the case study of the Gas Pump Software in the Link – Slides 12-13
Specification and Documentation Testing
Why does a specification need to be tested?
First chance for review
TEST before CODING – Finding bugs at this stage is the most cost effective.
Used to reveal gaps in understanding
Good time to verify against that both the client and the developer understand the scope and requirements of the application.
This is referred to as Static black-box testing
No code exists at this point in the development
It is good practice to have clients provide the review.
Specification and Documentation Testing
Three ways to evaluate the specification in order to provide a high-level review.
Put yourself in the place of the customer
Research existing standards & guidelines with respect to the platform being used.
Review and test similar software.
Not always possible, but often applications in similar domains can be used to clarify functionality.
What to ask during Specification Review?
Is it Complete and Accurate?
Is it Consistent?
Are the terms and nomenclature the same throughout the document
Is the information relevant?
Is the information presented important to the development of THIS application.
Extra information can be a distraction. Keep the specification focused.
What to ask during Specification Review?
Is it Feasible?
Can it be built with current hardware / software
Is the specification code/technology free?
Should not specify technology in the list of requirements.
Can the Specification be tested?
Is it complete and specific enough to be able to generate use cases. The use cases can be used to generate specific test cases.
How does this help?
Detect more bugs.
You will find more bugs than you expect in the Software and the documentation.
Find more meaningful bugs / defects.
When a bug is found by following instructions it is more credible.
Either the documentation is incorrect or the software is at fault.
Types of Documentation
Documentation that is often supplied with Software
Based on Specification (the expected results) and the correct operation (observed results).
Supplied less frequently than in the past
Often now takes the form of online help or a forum
Completed Examples
Tutorials that describe program operation
Video Tutorials
Often supplied as the quick way to get started with application.
Becoming a preference for many users.
Sometimes used as training for new users.
How to test these types of documentation?
Printed / Electronic Manuals
Read manual for correctness
Expert user review – Domain Knowledge
Novice user review – Determines ease of use.
Completed Examples / Tutorials / Video
Test Examples / Tutorials / Video
Best done by a novice, experts will tend to gloss over “obvious” items.
What are the challenges?
Printed / Electronic Manuals
Users don’t read them.
Printed manuals can be expensive.
Can quickly become out of date.
Completed Examples / Tutorials / Video
Based on previous versions.
Need version control to keep in check.
Video is starting to suffer from the same problems as printed manuals.
More difficult to update when significant UI changes occur.
/docProps/thumbnail.jpeg
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com