Difference between revisions of "DIT085"
From CERES
| Line 23: | Line 23: | ||
* Knowledge and understanding: | * Knowledge and understanding: | ||
| − | ** | + | ** understand the basic terminology of testing; |
** name and describe basic concepts on testing, as well as different testing techniques and approaches | ** name and describe basic concepts on testing, as well as different testing techniques and approaches | ||
| − | ** describe the connection between software development phases and kinds of testing | + | ** describe the connection between software development phases and kinds of testing |
| − | + | ||
* Skills and abilities: | * Skills and abilities: | ||
| Line 35: | Line 34: | ||
* Judgement and approach: | * Judgement and approach: | ||
| − | ** | + | ** compare different tools and techniques for testing software, and plan their use in appropriate contexts, |
| − | ** | + | ** compare and judge alternatives to testing, such as model checking and runtime verification |
| − | + | ||
** identify and hypothesize about sources of program failures, and reflect on how to better verify the correctness of such programs. | ** identify and hypothesize about sources of program failures, and reflect on how to better verify the correctness of such programs. | ||
Revision as of 10:41, 9 January 2015
Contents
Testing and Verification @ Chalmers / GU - Edition 2015
Contact
Lecturer
- Office: Halmstad University, E 305 (on Fridays at Chalmers: Jupiter, ?)
- Telephone 035 16 71 22 (on Fridays at Chalmers: )
- Email: m.r.mousavi@hh.se
Instructor
Eugene Groshev
- Email: groshev@student.chalmers.se
Objectives
- Knowledge and understanding:
- understand the basic terminology of testing;
- name and describe basic concepts on testing, as well as different testing techniques and approaches
- describe the connection between software development phases and kinds of testing
- Skills and abilities:
- write models in at least one formal specification language;
- construct appropriate and meaningful test cases, and interpret and explain (to stakeholders) the results of the application of such test cases ( using appropriate tools) to practical examples
- plan and produce appropriate documentation for testing
- apply different testing techniques on realistic examples.
- Judgement and approach:
- compare different tools and techniques for testing software, and plan their use in appropriate contexts,
- compare and judge alternatives to testing, such as model checking and runtime verification
- identify and hypothesize about sources of program failures, and reflect on how to better verify the correctness of such programs.
Assessment
Assessment is performed in terms of the deliverable of the practical project (software + report) and a written examination.
- To obtain a Pass (Godkänd: G) mark for the course, the student must obtain a Pass mark for both the project report and the written examination.
- To obtain a Pass with Distinction (Väl godkänd : VG) mark for the course, the student must obtain a Pass with Distinction mark for both the project report and the written examination.
- Otherwise, the student will fail the course and obtain a Fail mark (Underkänd: U).
Slides and Study Material
| Lecture | Handouts / Slides | Other Material |
|---|---|---|
| Lecture 1: Terminology and Functional Testing
January 23, 2015 |
Chapter 4 | |
| Lecture 2: Test-Driven Development and jUnit | ||
| Lecture 3: Coverage Criteria | Chapter 2 and 3 | |
| Lecture 4: Slicing and Debugging |
Main Textbook
P. Ammann and J. Offutt. Introduction to Software Testing. Cambridge, 2008.
Recommended Reading Material
- P.C. Jorgensen. Software Testing: A Craftsman’s Approach. Auerbach Publications, 3rd edition, 2008.
- L. Aceto, A. Ingolfsdottir, K.G. Larsen, and J. Srba. Reactive Systems: Modelling, Specification and Verification, Cambridge University Press, 2010.
Project Description
The project is about Test-Driven Development of a WhatsApp-like server- and client-side application.