Technische Universität Braunschweig
  • Study & Teaching
    • Beginning your Studies
      • Prospective Students
      • Degree Programmes
      • Application
      • Fit4TU
      • Why Braunschweig?
    • During your Studies
      • Fresher's Hub
      • Term Dates
      • Courses
      • Practical Information
      • Beratungsnavi
      • Additional Qualifications
      • Financing and Costs
      • Special Circumstances
      • Health and Well-being
      • Campus life
    • At the End of your Studies
      • Discontinuation and Credentials Certification
      • After graduation
      • Alumni
    • For Teaching Staff
      • Strategy, Offers and Information
      • Learning Management System Stud.IP
    • Contact
      • Study Service Centre
      • Academic Advice Service
      • Student Office
      • Career Service
  • Research
    • Research Profile
      • Core Research Areas
      • Clusters of Excellence at TU Braunschweig
      • Research Projects
      • Research Centres
      • Professors‘ Research Profiles
    • Early Career Researchers
      • Support in the early stages of an academic career
      • PhD-Students
      • Postdocs
      • Junior research group leaders
      • Junior Professorship and Tenure-Track
      • Habilitation
      • Service Offers for Scientists
    • Research Data & Transparency
      • Transparency in Research
      • Research Data
      • Open Access Strategy
      • Digital Research Announcement
    • Research Funding
      • Research Funding Network
      • Research funding
    • Contact
      • Research Services
      • Academy for Graduates
  • International
    • International Students
      • Why Braunschweig?
      • Degree seeking students
      • Exchange Studies
      • TU Braunschweig Summer School
      • Refugees
      • International Student Support
      • International Career Service
    • Going Abroad
      • Studying abroad
      • Internships abroad
      • Teaching and research abroad
      • Working abroad
    • International Researchers
      • Welcome Support for International Researchers
      • Service for Host Institutes
    • Language and intercultural competence training
      • Learning German
      • Learning Foreign Languages
      • Intercultural Communication
    • International Profile
      • Internationalisation
      • International Cooperations
      • Strategic partnerships
      • International networks
    • International House
      • About us
      • Contact & Office Hours
      • News and Events
      • International Days
      • 5th Student Conference: Internationalisation of Higher Education
      • Newsletter, Podcast & Videos
      • Job Advertisements
  • TU Braunschweig
    • Our Profile
      • Aims & Values
      • Regulations and Guidelines
      • Alliances & Partners
      • The University Development Initiative 2030
      • Facts & Figures
      • Our History
    • Career
      • Working at TU Braunschweig
      • Vacancies
    • Economy & Business
      • Entrepreneurship
      • Friends & Supporters
    • General Public
      • Check-in for Students
      • CampusXperience
      • The Student House
      • Access to the University Library
    • Media Services
      • Communications and Press Service
      • Services for media
      • Film and photo permits
      • Advices for scientists
      • Topics and stories
    • Contact
      • General Contact
      • Getting here
  • Organisation
    • Presidency & Administration
      • Executive Board
      • Designated Offices
      • Administration
      • Committees
    • Faculties
      • Carl-Friedrich-Gauß-Fakultät
      • Faculty of Life Sciences
      • Faculty of Architecture, Civil Engineering and Environmental Sciences
      • Faculty of Mechanical Engineering
      • Faculty of Electrical Engineering, Information Technology, Physics
      • Faculty of Humanities and Education
    • Institutes
      • Institutes from A to Z
    • Facilities
      • University Library
      • Gauß-IT-Zentrum
      • Professional and Personnel Development
      • International House
      • The Project House of the TU Braunschweig
      • Transfer Service
      • University Sports Center
      • Facilities from A to Z
    • Equal Opportunity Office
      • Equal Opportunity Office
      • Family
      • Diversity for Students
  • Search
  • Quicklinks
    • People Search
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Cafeteria
    • Courses
    • Stud.IP
    • Library Catalogue
    • IT Services
    • Information Portal (employees)
    • Link Collection
    • DE
    • EN
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
    • Bluesky
Menu
  • Organisation
  • Faculties
  • Carl-Friedrich-Gauß-Fakultät
  • Institutes
  • Institute of Software Engineering and Automotive Informatics
  • Teaching
Logo Institut für Softwaretechnik und Fahrzeuginformatik der TU Braunschweig

Software Quality 1

Please notice!

This lecture is the successor to the "Processes and methods for the testing of software" lecture. If you already have taken the exam in PMTS, you can not take the exam in SQ1. The topics of the lecture have been updated.

Lecturer: Dr.-Ing. habil. Sandro Schulze

Module number: INF-SSE-39

Content & Learning Goals

The lecture focuses on the aspect of software quality in the software development process and focuses specifically on the topic of software testing. Both, basic as well as advanced techniques and concepts of testing and their application are introduced.

Content

The following topics are covered in detail:

  •     Testing process (& its relationship to the software development process)
  •     Fundamentals & principles of software testing
  •     dynamic testing techniques (white box & black box testing)
  •     Model-Based Testing
  •     Design by contract
  •     Test code quality & test-driven development
  •     Practical testing with JUnit & Mockito

Learning goals

  • The students are able to create unit, integration and system tests with currently available tools (e.g. JUnit, Mockito and JaCoCo) that successfully test complex software systems.
  • Students are able to derive test cases dealing with exceptional, boundary and bad weather cases by applying different techniques (e.g. boundary analysis, state-based testing, decision tables).
  • The students are able to measure and reflect on the efficiency of the developed test cases using various test adequacy metrics (e.g. statement, branch, state and MC/DC coverage).
  • Students are able to think about the limitations of current testing techniques, when they should and should not be applied in a given context, and to design testable software systems.
  • Participants are able to write maintainable test code by avoiding known test code smells (e.g. assertion roulette, slow or obscure tests).

The language of instruction is English.
Parts of the lecture correspond to the content of the ISTQB Certified Tester.

Dates

By default, the exercises take place on Monday (9.45 - 11.15 a.m.), that is, on the date that is actually scheduled for the lecture. Information on time and location can be found in the Stud.IP under the following link: SQ1 -- Stud.IP

In a few cases we switch to Wednesday (1.15 - 2.45 p.m.) (please refer to the schedule below for details).

The lectures themselves are offered online asynchronously, more details on this in the Plan & Material section.

Plan and Lecture documents

The software quality course consists of a lecture and an exercise and uses the method of integrated learning (blended learning).

In concrete terms, this means that there is a self-learning part (here: the lecture) and a presence part (here: the exercise). Details on the process of the two parts can be found below.

Lecture

The lecture is designed as a self-learning phase. This means that there is one topic each week that is provided via short lecture videos.

In addition to this, there is occasionally additional material in the form of articles, blog entries, but also tutorials or hands-on tasks in Stud.IP.

Exercise

The exercise takes place in presence and serves to deepen the respective topic, to apply what has been learned and also to discuss open questions about the respective topic.

In addition to hands-on tasks, which are solved in the exercise, the exercise consists of two integral parts: quizzes and a small project, that  is, the labwork.

Quizzes

There is an online quiz for each topic, which must be solved before the respective exercise. These quizzes relate to the current topic of the lecture.
Quizzes are provided in parallel with the instructional videos, thus allowing enough time to solve each quiz before the exercise takes place (~4-5 days).
The results of the tests are then discussed in the exercise.
In addition to deepening the respective topic, the quizzes also serve as preparation for the exam.

Labwork

An essential goal of the course is to apply the learned techniques on your own in practice. To this end,  we provide a small project as part of the exercise, a Java implementation of the well-known Pacman game, which will be gradually expanded with different test cases over the course of the semester.
There are four milestones in total, whereby the techniques currently being discussed must always be applied within a milestone.
You may form groups of two students to work on the labwork and solve the tasks together.
There are bonus points for the exam for particularly good solutions.

Lecture Material

A new topic is covered each week (see schedule). For this purpose, all materials, i.e. lecture videos, quizzes and other materials are made available online in the Stud.IP course a week in advance.

In addition, the labwork tasks for the respective milestone are made available in Stud.IP at regular intervals. That means: after completing a milestone, the tasks for the next milestone are made available. The time to work on a particular milestone is approx. 3 weeks in each case.

In addition to the exercise, there is also a forum in Stud.IP in which questions can be asked and topics and tasks can be discussed.

Exam

At the end of the semester there will be a written exam of 90 minutes.

The exam is designed as a multiple/single choice exam, with the type of questions being based on the questions in the quizzes.

 

Repetition exam winter term 2022/2023:

Monday, February 27 from 9.30 to 11 am in room SN 20.2

Repetition exam summer term 2023:

Thursday, August 17, 2023 from 8.30 to 10.00 am in room PK 11.2

Literature

  • Andreas Spillner & Tilo Linz, Basiswissen Softwaretest - Aus und Weiterbildung zum Certified Tester, 5.Auflage, 2012. (Grundlage der ISTQB Zertifizierung, deckt große Teile der Vorlesung ab.)
  • Peter Liggesmeyer, Software-Qualität, 2.Auflage, 2009. (Standardwerk im Bereich Testen)
  • D. Graham, E. van Veenendaal, I.Evans, R.Black, Foundations of Software Testing -- ISTQB Certification
  • Andre Hunt, David Thomas, Pragmatic Unit Testing (in Java with JUnit)
  • Roy Osherove, The Art of Unit Testing
  • Mauricio Aniche, Effective Software Testing -- A developer's guide

Schedule

The table below contains the schedule for the semester, together with the respective topics and information on the preparation and submissions for the respective week.

The deadlines for the project can be found in the project guidelines (labwork guide).
The deadline for the quizzes is always 8 a.m. on the day of the exercise.

Please note that the schedule is subject to change.

Day Date Type Topic Preparation Submission
Wednesday 20.04.22 0.Exercise Introduction Tutorial "Getting Started with Git"  
Monday 25.04.22 1.Exercise Fundamentals of Software Testing Paper: "Principles of Software Testing" Quiz 1
Monday 02.05.22 NO EXERCISE --- --- ---
Monday 09.05.22 2.Exercise Functional (Black-Box) Testing --- Labwork (Part 0), Quiz 2
Wednesday 18.05.22 3.Exercise Structural (White-Box) Testing Blog: "Test Coverage -- Lessons learned from JUnit" Quiz3
Monday 23.05.22 4.Exercise Test levels & Mock Objects Paper: "Getting what you measure -- pitfalls in using metrics" Quiz 4
Monday 30.05.22 5.Exercise Test code quality --- Labwork (Part 1), Quiz 5
Monday 06.06.22 NO EXERCISE ---    
Monday 13.06.22 6.Exercise Model-based Testing I -- Decision Tables --- Quiz 6
Monday 20.06.22 7.Exercise Model-based Testing II -- State-based Testing --- Quiz 7
Monday 27.06.22 8.Exercise Design-by contract & Property-based Testing --- Labwork (Part 2), Quiz 8
Monday 04.07.22 9.Exercise Test Process --- Quiz 9
Montag 11.07.22 10.Exercise --- Guest Lecture, Warda Khan (IAV), "Software Testing -- Insights and Solutions from the Industry" ---
Monday 18.07.22 NO EXERCISE TBA --- Labwork (Part 3)
Wednesday 27.07.22 11.Exercise Summary & Questions --- ---
Photo credits on this page

For All Visitors

Vacancies of TU Braunschweig
Career Service' Job Exchange 
Merchandising

For Students

Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard

Internal Tools

Glossary (GER-EN)
Change your Personal Data

Contact

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig

P. O. Box: 38092 Braunschweig
GERMANY

Phone: +49 (0) 531 391-0

Getting here

© Technische Universität Braunschweig
Legal Notice Privacy Accessibility

TU Braunschweig uses the software Matomo for anonymised web analysis. The data serve to optimise the web offer.
You can find more information in our data protection declaration.