Graduate study programme

Back   Schedule   Hrvatski

Methods and Techniques of Software Testing DRac1-06-18

ECTS 5 | P 30 | A 0 | L 30 | K 0 | ISVU 190627 | Academic year: 2019./2020.

Course groups

Prikaži sve grupe na predmetu

Course lecturers

HOCENSKI ŽELJKO, Lecturer
VIDOVIĆ IVAN, Associate
MARTINOVIĆ GORAN, Lecturer
SKELEDŽIJA ANDREJ, Associate
KURTAGIĆ DINO, Associate

Goals

Explain the models, methods and software testing techniques, manual and automated testing, planning and testing procedure. Present and analyse possibilities, selection and ways of using testing techniques through a software life-cycle, according to different models, as well as static and dynamic, functional and non-functional testing by using appropriate testing standards. Train students for testing cases and scenario design in agile, embedded, web and mobile programming environments by using appropriate tools for testing automation and software code improvement.

Conditions for enrollment

Requirements for the enrolment in the graduate university study programme

Course description

Introduction and basic terminology, software reliability, models of software testing, methods and techniques of testing software systems. Goals and limitations of testing. Manual and automated testing. Planning and monitoring of testing. Testing management. Testing through a software life-cycle. Selection of testing techniques. Testing according to black-, white- and grey-box. Static and dynamic testing. Functional and non-functional software testing methods - unit testing, integration testing, system testing, regression testing, acceptance testing, performance testing (load, stress), structural testing, model-based testing, testing of object-oriented software, usability, portability and user experience testing. Testing and error/failure documentation. Error/failure analysis. Test case and testing scenario design. Testing process. Test-driven development. Code refactoring. Testing standards (ISO/IEC 9126, 9241-11, 25000:2005, 12119, other). Testing risks. Testing in agile development. Testing of embedded software solutions. Web and mobile applications testing. Tools for automated testing. Testing examples in considered environments.

Teaching methods

lectures, seminars and workshops, individual exercises, laboratory exercises

Student requirements

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and Paragraph 1.9.

Monitoring of students

Defined by the Student evaluation criteria of the Faculty of Electrical Engineering, Computer Science and Information Technology Osijek and Paragraph 1.9.

Obligatory literature

1. 1 B. Laboon A Friendly Introduction to Software Testing CreateSpace Independent Publishing Platform, 1st Ed., 2016.

2. 2 G.J. Myers, C. Sandler The Art of Software Testing Wiley; 3rd Ed., 2016.

3. 3 G. Paskal Test Automation in the Real World: Practical Lessons for Automated Testing Independently published, 2017.

4. 4 Pezzé; M; Young, M. Software Testing and Analysis: Process, Principles, and Techniques John Wiley & Sons, 2008


Pretraži literaturu na:

Recommended additional literature

1. 1 S. McMaster Web Application Testing for Developers 2017.

2. 2 K. Nuvvula How to Test Mobile Applications: A Practical Guide to Mobile Application Testing Kishore Nuvvula, 1st Ed., 2016.

3. 3 J.W. Grenning Test Driven Development for Embedded C (Pragmatic Programmers) Pragmatic Bookshelf, 1st Ed., 2011.

Course assessment

Conducting university questionnaires about teachers (teacher-student relationship, criteria transparency, motivation for task completion, clarity of teaching, etc.). Conducting faculty questionnaires about course quality upon their completion (students’ self-assessment on learning outcomes and workload with respect to ECTS credits and overall course activities).

Overview of course assesment

Learning outcomes
Upon successful completion of the course, students will be able to:

1. understand reliability models, methods and techniques of manual and automated software testing through a software life-cycle and by using appropriate models and testing dynamics

2. define and create necessary development and testing environment for functional and non-functional testing as well as for test-driven development

3. apply defined development and testing environment, tools for manual and automated testing for testing cases and scenario design in embedded, agile, web and mobile environments and testing documentation

4. evaluate testing results with the aim of improving testing methods and techniques, risk estimation and decrease, as well as the improvement of a programming code by testing

5. test the level of meeting testing standards for provided software solutions

6. analyse and modify software with the aim of improving software and testing procedures



Aktivnosti studenta: Vidi tablicu aktivnosti