Lecturer(s)
|
-
Trapp Michal, Ing. Ph.D.
-
Heller Václav, doc. Ing. Ph.D.
|
Course content
|
1. Introduction, basic terminology, project and production risks, test environments 2. Existing standards and procedures for software quality assurance (ISO / IEC 25010: 2011, IEEE 1633-2016) 3. Visualization of test results 4. Design and evaluation of benchmarks and stress tests, stress tests, recovery tests, use of appropriate tools (JMeter) 5. Methods and methodologies of usability testing 6. BDD testing 7. REST API testing 8. Symbolic execution, analysis and debugging in a running program, program memory analysis (Valgrind) 9. Monitoring of running software, usable tools and their influence on the application 10. Model checking, formal methods and tools 11. Static methods for software verification, their properties and limitations. Programming conventions (MISRA-C, CERT-C) and possibilities of their verification 12. Testing in Agile 13. Invited lecture
|
Learning activities and teaching methods
|
- Practical training (number of hours)
- 26 hours per semester
- Individual project (40)
- 25 hours per semester
- Contact hours
- 26 hours per semester
- Preparation for an examination (30-60)
- 30 hours per semester
|
prerequisite |
---|
Knowledge |
---|
- has knowledge of the internal operation of programs (structure of program memory in C, basic operation of the stack, program flow control) - understands the operation of tools (eg PMD) for static verification of program quality |
Skills |
---|
- programs in at least one extended high-level language (Java, Python, C ++) (knowledge comes from the previous Bc. study) - routinely uses unit testing - analyzes the tested domain, can prepare input data for testing - uses a logging system |
Competences |
---|
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
- Knowledge of FURPS + quality dimensions (functionality, usability, reliability, performance, supportability). - Knowledge of (automated) preparation of test data and test results (oracles). - Knowledge of typical problems that appear in complex IT systems and procedures to detect them - Knowledge of methods of software quality management, use of metrics and specialized tools. - Is aware of the existence of standards for software quality assurance (ISO / IEC 25010: 2011, IEEE 1633-2016) - Is aware of the procedures of SW process management leading to an increase in the quality of the created SW and knows the tools managing these processes |
Skills |
---|
- Able to visualize complex test results for the entire development team - Can use BDD testing methodology and tools - Able to test REST API - Can design and perform performance tests correctly - Can use sophisticated static analysis tools - Can use tools for dynamic verification of software execution (eg Valgrind) |
Competences |
---|
N/A |
N/A |
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture with visual aids |
Lecture supplemented with a discussion |
E-learning |
Task-based study method |
Textual studies |
Group discussion |
Self-study of literature |
Individual study |
Students' portfolio |
Skills |
---|
Lecture |
Lecture supplemented with a discussion |
Practicum |
E-learning |
Task-based study method |
Group discussion |
Individual study |
Students' portfolio |
One-to-One tutorial |
Competences |
---|
Lecture supplemented with a discussion |
Task-based study method |
Textual studies |
Students' portfolio |
assessment methods |
---|
Knowledge |
---|
Oral exam |
Written exam |
Seminar work |
Skills |
---|
Practical exam |
Skills demonstration during practicum |
Continuous assessment |
Project |
Competences |
---|
Oral exam |
Project |
Recommended literature
|
-
Alpaev, G. Software Testing Automation Tips. APress, 2017. ISBN 1484231619.
-
Kshirasagar N. - Priyadarshi T. Software Testing and Quality Assurance: Theory and Practice. Wiley & Sons, 2011. ISBN 978-1-118-21163-2.
-
Mathur, Aditya P. Foundations of software testing : fundamental algorithms and techniques. Delhi : Pearson Education, 2008. ISBN 978-81-317-1660-1.
|