Software Testing of Hardware-Software Systems

Major: Telecommunications and Radio Engineering
Code of subject: 6.172.07.E.151
Credits: 5.00
Department: Theoretical Radio Engineering and Radio Measurement
Lecturer: Senior lecturer, PhD Andriy Bench
Semester: 8 семестр
Mode of study: денна
Мета вивчення дисципліни: The purpose of the course is to provide future specialists with knowledge and practical skills in the field of software and hardware testing. The level of this knowledge should be sufficient for conducting scientific research at the level of the latest world achievements and aimed at their expansion and deepening.
Завдання: The study of an educational discipline involves the formation of competencies in students of education: general competences: - ability to abstract thinking, analysis and synthesis (ЗK-1); - ability to apply knowledge in practice (ЗK-2); - the ability to search and analyze information from various sources; - the ability to learn and master modern knowledge (ЗK-7) - have research skills; professional competences: - knowledge of computer technology and programming, mastery of computer skills for and testing of software for hardware and software of radio engineering systems (embedded systems); - basic knowledge of scientific concepts, theories and methods necessary for understanding the principles of operation and functional purpose of software and hardware of telecommunication and radio engineering systems and devices, electronic equipment and equipment.
Learning outcomes: As a result of studying the academic discipline, the student must be able to demonstrate the following learning outcomes: • know and understand the software development life cycle and the system development life cycle; • know the main types of hardware and software testing; • know the basic methods of designing tests; • be able to create all types of test documentation; • be able to use issue tracking systems and bug tracking systems; • be able to use test management systems (test management system); • have a general understanding of the organization of automated software and hardware testing; • have a general understanding of the implementation of continuous integration practices when creating hardware and software tools.
Required prior and related subjects: Hardware programming Fundamentals of hardware and software design Design of hardware and software systems Design of radio frequency remote control devices
Summary of the subject: The program of the educational discipline "Software testing of hardware and software systems" is designed for students of the Institute of Telecommunications, Radio Electronics and Electronic Engineering who are studying Telecommunications and Radio Engineering. The educational discipline is devoted to the study of the principles of testing hardware and software systems. Methods of static and dynamic testing, methods of designing test cases according to the type of black and white box and based on experience are considered. Significant attention is paid to the planning and management of the testing process. In the final part of the course and in laboratory classes, tools for testing are studied. After successful completion of the course, students are ready to take the international qualification ISTQB: Foundation Level.
Опис: Names of topics Topic 1 Fundamentals of software testing Lecture 1. What is testing? Why is it necessary? Errors, defects, and failures. Causes and consequences of defects. The main principles of testing. Testing process. Topic 2 Software Development Life Cycle (SDLC) and Testing Process. Lecture 2. SDLC models. Waterfall model. Evolutionary model. Agile models of software development. SCRAM. KANBAN. LEAN. Lecture 3. Levels of testing. Testing of modules and components. Integration testing. System testing. Acceptance testing. Lecture 4. Types of testing. Functional testing. Non-functional testing. Testing according to the principle of a transparent\white box Topic 3. Testing methods and test design. Lecture 5. Static testing. Advantages of static testing. The difference between static and dynamic testing. Software review process. Lecture 6. Methods of dynamic testing and design of test cases h1. Testing methods by black box type (breakdown into equivalence groups, analysis of boundary conditions, testing of transition tables, testing of transitions between states, testing of use cases). Lecture 7. Methods of dynamic testing and design of test cases h2. White box testing methods (route testing, cycle testing, transition testing, data processing testing) Lecture 8. Methods of dynamic testing and design of test cases h3. Testing methods based on experience (error prediction, exploratory testing, testing based on checklists/checklists) Topic 4. Management of the testing process. Lecture 9. Organization of the testing process. Planning and evaluation of the testing process. Control over the testing process. Configuration management. Risks and testing. Defect management Topic 4. Tools for testing. Lecture 10. Classification of tools. Advantages and risks of test automation. Effective use of tools. Basic principles of tool selection. Pilot projects for introducing tools into testing processes.
Assessment methods and criteria: Testing on topics passed (in a virtual learning environment). Protection of laboratory work in the form of a survey based on completed reports. Examination control (written component – tests and individual task, oral component – survey based on the list of questions to be studied and submitted for semester control.
Критерії оцінювання результатів навчання: Current control (45 points): • laboratory work - 35 points; • intermediate control - 10 points. Examination control (55 points): • written component - 50 points; • oral component - 5 points. TOTAL - 100 points.
Recommended books: Базова 1. Білас О. Якість програмного забезпечення та тестування: навч.посібник – Львів: Видавництво Львівської політехніка, 2011. – 216с. 2. ISTQB. Cerified Tester Foundation Level (CTFL) Syllabus 2018 v.3.1.1. Режим доступу: https://www.istqb.org/certifications/certified-tester-foundation-level Допоміжна 3. Boris Beizer. Black-Box Testing. Techniques for Functional Testing of Software and Systems. – New York:John Wiley & Sons, 1995. – 320 p. 4. Lisa Cispin, Janet Gregory. Agile Testing. A Practical Guide for Testers and Agile Teams. – New York: Addison-Wesley, 2009. – 464 p. 9. Інформаційні ресурси http://vns.lpnu.ua/course/view.php?id=14160