1 / 14

About the Course Software Testing & Verification

About the Course Software Testing & Verification. Course Software Testing & Verification 2018/19 Wishnu Prasetya & Gabriele Keller. Why do we care?. Because we want to deliver best quality products! Because poor quality, including software bugs, may have severe consequences

jlinville
Download Presentation

About the Course Software Testing & Verification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. About the Course Software Testing & Verification Course Software Testing & Verification 2018/19 WishnuPrasetya& Gabriele Keller

  2. Why do we care? • Because we want to deliver best quality products! • Because poor quality, including software bugs, may have severe consequences (e.g. some errors in the software of UK Inland Revenue is rumored to cause tax-credit over-payment of 3.45 billions USD. Charette, Why Software Fails. IEEE Spectrum, 2005)

  3. Invested effort in quality assurance (QA) World Quality Report, 2018/19. 1700 executives, 32 countries

  4. The project management aspect of quality assurance is non-trivial Requirement Analysis Acceptance Test Architecture Design System Test Detailed Design Integration Test Unit Test Implementation By developers A typical testing project approach called “V-model”

  5. In this course we will focus on the technical foundation of software verification • How to specify what constitutes “correct” behavior? • How to verify the correctness of a program? • What constitute good tests ? • When have we tested enough? • Can we automate these steps?

  6. (top level) Learning Goals • Know a selected set of basic concepts, theories, and techniques of Software Testing and Software Verification They represent two complementary approaches towards software correctness : pragmatism vs completeness. • Able to relate these theories and techniques to real problems.

  7. Not in scope • Project management aspects of quality assurance (QA) in a large project  covered in Software Project (bachelor). • Automated verification algorithms  covered in the Program Semantic & Verification course (master).

  8. Pre-requisite • The “software verification” part will go into the mathematical foundation of verification. You will need background in: • Set theory • Predicate logic

  9. Site & Materials • www.cs.uu.nl/docs/vakken/pc • Paul Ammann and Jeff Offutt, Introduction to Software Testing, 1st edition, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008. • Lecture Notes (see the website), for the program verification part.

  10. Project & assignment • Home works (3x) • Testing Project, in 2 iterations • work in teams of 3 persons • Iter-1 : development, unit testing, white box testing • iter-2 : development, system testing. • each phase is closed by a demonstration • Proving program correctness assignment

  11. Grading • In total 6 components: home works, project (2 iterations), proof (last iteration), 2x exams. All components except the home works are mandatory. • Criteria to pass the course: • You do all the mandatory components. • The average of your exams should be ≥ 4.5. • Your score (see below) should be ≥ 6 • score = if 5.0 ≤ raw ≤ 6.0 then raw rounded to the closest intelse raw rounded to the closest 0.5 • raw = min ( 10 , 0.3 * average project + 0.2 * proof assignment + 0.5 * average exams + max. 0.4pt from home work ) • Your final score = “score” (above), except if you didn’t meet criteria 1 or 2 above; then your final score would either NVD or AANV. • Resit: only if you fail and (4.0  raw or final=AANV)

  12. Software • For the Project you need Visual Studio Enterprise. This edition contains a test coverage analysis tool that you will need. There is also something called “IntelliTest” if you care to check it out. You can have it for free from • “Microsoft Imagine Webstore” • https://aka.ms/devtoolsforteaching • https://azureforeducation.microsoft.com/devtools • You will have to bring your own laptop. The computers in the practicum zalen do not have VSE.

  13. Load • We have a pretty dense programme. Expect to commit at least 16hrs/week. • Suggested plan: • Lectures + lab/wekcollege sessions: 8h/w • Self-study the theory: 4h/w • Sprints for your Testing Project: 4h/w

  14. Team • WishnuPrasetya (lectures & lab sessions) • Gabriele Keller (lectures) • Guus de Jonge (TA: home work & Project)

More Related