Home>Teaching>Software Reliability and Testing
Academic Year | 2013/2014, 2nd semester |
Lecturer: | Barbara Russo |
Lecture: | Wednesday 8:30 - 10:30, room D003 (start: February 26) |
|
Friday 8:30 - 10:30, room D003 (start: February 26) |
Lab: | Thursday 10:30 - 12:30, room E431 (start: March 5) |
Office hours: | Wednesday 14:00 - 15:00 or email arrangement, office POS 1.16 |
Pre-requisites | Students are familiar with basic knowledge of software process and
project management and programming (e.g., Java, Java script) and
software measurement. This material is taught in the following
master courses:
|
Learning Outcome | Understanding and applying methods and techniques to analyze
requirements, and design and code software artifacts to assess and
model software reliability. Understanding principles and methods of software testing. Being able to select and apply in autonomy appropriate technologies and techniques for different types of testing all over the software process development in different domains and contexts. |
Syllabus Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment. Software Testing is the process of executing a program or system with the intent of finding errors (Myers, 1979) or it involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results (Hetzel, 1988). Software testing also serves as a way to measure and improve software reliability. |
Software reliability | Software quality and its sub-attributes |
What is a bug? Errors, defects, faults, failures, and bugs a chain of causality | |
Software and hardware reliability | |
Dynamic systems and Markov chains | |
Modeling and predicting software reliability: statistical models | |
Reliability over software evolution | |
Defects and other software measures: associations | |
Software testing | Testing principles and practices |
Black and White Box Testing | |
Type of Testing: Acceptance, Integration, Unit, Regression, Functional and System, Beta Testing | |
Coverage Analysis | |
Static Analysis of Software Systems | |
System Testing and Test Automation | |
Test Management While You Code: Test Driven Development |
Reading List | Main text for testing: Pezz\’e & Young, Software Testing and Analysis: Process, Principles and Techniques, Wiley, 2007. University Shelf ST 233 P522 |
|
Lecture notes and papers will be handed out during the course |
|
Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008. |
|
Kent Beck: Test Driven Development by Example, Addison-Wesley Verlag |
|
G.J. Myers, The Art of Software Testing, Second Edition, John Wiley & Sons, New York, 1976 |
|
Laurie Williams et al. http://openseminar.org/se/modules/7/index/screen.do |
|
Main Text for reliability: Rigdon E.S. and Basu A.P. Statistical methods for the reliability of repairable systems Wiley series in probability and statistics |
|
Lyu, M. (ed.) Handbook of Software Reliability Engineering, IEEE Computer Society Press, 1996 http://www.cse.cuhk.edu.hk/~lyu/book/reliability/index.html |
|
Baren, M. Probability and Statistics for Computer Scientists Chapmall and Hall, I University shelf: 15 ST 340 B265(.07) |
Lectures notes