Software Testing

Data is displayed for academic year: 2023./2024.

Course Description

The role of testing in software development. Software testing approaches. Static, dynamic, and passive testing. Exploratory testing. Box approach: white box testing, black box testing, and grey box testing. Testing levels: unit testing, integration testing, system testing. Testing types, techniques, and tactics. Automated testing. Limitations of testing. Testing methods for particular domains, such as parallel and safety-critical systems, Web and mobile applications. Testing tools and frameworks.

Study Programmes

University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Computer Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Computer Science - profile
Elective Courses (1. semester) (3. semester)
Elective Courses of the Profile (1. semester) (3. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Data Science - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electronics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Network Science - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Courses (1. semester) (3. semester)

Learning Outcomes

  1. recognize the importrance of software testing
  2. assess the applicability of particular software testing methods with regards to testing conditions
  3. select the appropriate software testing method for a given software project
  4. set up a development team to conduct a software testing
  5. apply the software testing principles, techniques, and tools in real-world applications

Forms of Teaching

Lectures

Laboratory

Week by Week Schedule

  1. Testing fundamentals
  2. Software quality management and assessment
  3. Program testing, performance analysis, and optimization
  4. Testing process and test-related measures
  5. Testing types/techniques
  6. Testing types/techniques
  7. Inspections, reviews, audits
  8. Midterm exam
  9. Inspections, reviews, audits
  10. Defect/fault tracking and technical support for such activities
  11. Defect/fault tracking and technical support for such activities
  12. Testing tools including static and dynamic analysis tools
  13. Automatization of testing; Testing languages and tools
  14. Limitations of testing in particular domains, such as parallel or safety-critical systems
  15. Final exam

Literature

(.), C. Kaner, J. Falk, H. Q. Nguyen (1999.), Testing Computer Software, 2nd Edition, Wiley,
(.), G. J. Myers, C. Sandler, T. Badgett (2011.), The Art of Software Testing, 3rd Edition, Wiley,
(.), C. Kaner, J. Bach, B. Pettichord (2001.), Lessons Learned in Software Testing, Wiley,

For students

General

ID 222598
  Winter semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
0 Seminar
0 Exercises
5 Laboratory exercises
0 Project laboratory
0 Physical education excercises