Navigation

26E114RTS - Software Development and Testing

Course specification
Course title Software Development and Testing
Acronym 26E114RTS
Study programme Electrical Engineering and Computing
Module Computer Engineering and Informatics
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition Basic programming knowledge (e.g., Java or Python), understanding of data structures and algorithms.
The goal The course provides a unified view of modern software engineering and testing, bridging development and quality assurance. It emphasises design and testing across the lifecycle, introduces industry tools and methods, and fosters critical thinking and problem-solving in real-world software projects.
The outcome Students will design, develop, and test software using engineering principles, apply various testing techniques, use Agile and DevOps workflows, and evaluate software quality. They will work effectively in teams on practical projects, using industry tools and continuous integration practices.
Contents
Contents of lectures Introduction to software engineering and software testing, software life cycle models, requirements engineering, agile methodologies, principles of software design, software testing techniques - unit, integration and system testing, static and dynamic code analysis, test automation, performance testing, load and security testing, software deployment and maintenance.
Contents of exercises Lectures that illustrate individual concepts and techniques. Laboratory exercises to introduce students to software design techniques, software testing and appropriate test automation tools, the use of test patterns and tools for testing web and mobile applications, frameworks for unit testing and code analysis, security and performance testing.
Literature
  1. Fundamentals of Software Architecture: An Engineering Approach, by Mark Richards and Neal Ford, 1st edition, O'Reilly Media, 2020. ISBN: 978-1492043454 (Original title)
  2. Software Engineering, by Ian Sommerville, 10th edition, Pearson Education Limited, 2016, ISBN: 978-1-292-09613-1 (Original title)
  3. Testiranje softvera, Dražen Drašković i Dragan Bojić, „Akademska misao“, Beograd, 2019, ISBN: 978-86-7466-815-3. (Original title)
  4. Software Testing, by Paul C. Jorgensen and Byron DeVries, 5th Edition, Auerbach Publications, 2022, ISBN: 978-0367767624 (Original title)
  5. Refactoring: Improving the Design of Existing Code, by Martin Fowler, 2nd Edition, Addison-Wesley Professional, 2018, ISBN: 978-0134757704 (Original title)
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures, auditory and laboratory exercises.
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 30
Practical lessons 10 Oral examination 0
Projects 30
Colloquia 30
Seminars 0