cs4472a : specification, testing and quality assurance instructor: shaimaa ali
TRANSCRIPT
CS4472A : Specification, Testing and Quality
Assurance Instructor: Shaimaa Ali
What is this course all about
• Computers and software systems are becoming ubiquitous in modern society.
• Worldwide users rely on individual and interconnected computers to fulfill their needs for – information processing, – storage, – search, – and retrieval.
• All these needs are met with the support of the underlying software.
• This reliance requires a quality the software
What is this course all about
• This high quality need to be satisfied through various Quality Assurance activities
• Claims for high quality need to be supported by evidence based on concrete measurements and analyses.
Textbook
Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement
Jeff Tian
ISBN: 978-0-471-71345-6February 2005, ©2005,
Wiley-IEEE Computer Society Press
Quality expectations
Our (as developers) objective is to deliver software system that...
• does what it is supposed to do – needs to be “validated“
• does the things correctly– needs to be “verified“
• show/demonstrate/prove it – modeling/analysis needed
Meeting Quality Expectations
• Difficulties in achieving good quality:– size: MLOC products common– complexity– environmental stress/constraints– flexibility/adaptability expected
• Other difficulties/factors:– product type– cost and market conditions– Others .. (discussed in Part III of the book)
• No silver bullet", but...– SQE (software quality engineering) helps
Contents
• Part I– Overview and basics
• Part II– Testing– Perhaps the most important QA
mechanism
Contents
• Part III– Other Alternatives for QA
• defect prevention• inspection, review, analysis• formal verification• defect containment
– Comparison of different alternatives, including testing.
• Part IV– Analysis and improvement
• overall mechanism • measurements/models
Background
• Math/statistics pre-requisite:– used in modeling/analysis.– discrete math; logic, graph, etc.– probability and statistics
Background
• Background knowledge in CS/SE:– computer systems and programming• Java, C or C++
– fundamentals of computing– general SE knowledge and experience• CS3307 is prerequisite
Marking scheme
• 40% assignments – 1 assignment per part– 10% each
• 10% in-class and online participation– In-class assessment and participation
activities– Online activities (on course’s website)– Some of the in-class activities will be posted
online so that students can catch up.
Marking scheme
• 20% mid-term exam – tentatively Oct. 28th
– Covering parts I and II
• 30% final exam
In class activity #1(take 5 to 10 mins to answer these questions)
• Your experience as a developer–What programming experience do you
have? (e.g. course project, internship ... Etc.)
–What language did you use?–What level of quality you think it had?–How did you assure it’s quality?
• Your experience as a customer–What software do you use and think it is
a good software?–Why do you think it’s good? • Looks good, fast, accurate … etc.
–How did you measure it’s goodness?– Can you compare it to other similar
software?
In class activity #2(take 5 to 10 mins to answer these questions)
• Your experience in management– Did you work in a team for developing a
software before? What was it?–What was your role in the team?–Was there any team member responsible
for QA?–How did you divide QA tasks amongst
team members?–What can you do to enhance
management of your team with regards to QA activities?
In class activity #3(take 5 to 10 mins to answer these questions)
Your expectations?
What do you expect to learn in this course?