Software Testing

Major: Cybersecurity
Code of subject: 6.125.04.E.130
Credits: 3.00
Department: Information Security
Semester: 7 семестр
Mode of study: денна

Software Testing (курсова робота)

Major: Cybersecurity
Code of subject: 6.125.04.E.131
Credits: 2.00
Department: Information Security
Lecturer: Ph.D., Associate Professor Chervinka Kostiantyn Andrijovych
Semester: 7 семестр
Mode of study: денна
Мета вивчення дисципліни: The purpose of teaching the discipline is to acquaint students with the theory and practice of software testing, features and requirements for testing at various stages of the software development life cycle, test case formation methods, and testing automation tools.
Завдання: The study of an educational discipline involves the formation of competencies in students of education: general competences: ZK 1. Ability to apply knowledge in practical situations ZK 2. Knowledge and understanding of the subject area and understanding of the profession ZK 3. The ability to communicate professionally in national and foreign languages ??both orally and in writing ZK 4. The ability to identify, pose and solve problems in a professional direction ZK 5. Ability to search, process and analyze information professional competences: FCS 4.1. Possession of risk assessment methodologies and proactive detection of threats, ability to identify information security vulnerabilities and use effective tools to mitigate them FCS 4.4. Ability to process and analyze event logs, ability to develop parsers. FCS 4.5. The ability to detect malicious software and the ability to apply the principles and methods of effective countermeasures. FCS 4.7. Ability to develop malware and cyber attack detection software FCS 4.9. Ability to monitor data, computer abuse and anomalies.
Learning outcomes: As a result of studying the academic discipline, the student of education should be capable 4.1. Solve the task of protecting programs and information processed in information and telecommunication systems by means of hardware and software and evaluate the effectiveness of the quality of the decisions made. 4.3. Solve the problems of data flow protection in information and information and telecommunication (automated) systems 4.8. Solve the tasks of managing the processes of restoring the regular functioning of information and telecommunication systems using backup procedures in accordance with the established security policy. 4.11. Solve problems of software code analysis for the presence of possible threats and should also 1. have ideas about current methods of testing modern software tools of various types at all stages of the software development life cycle; 2. be able to analyze the requirements for the designed software for various development models based on completeness, correctness, feasibility, necessity, priority, consistency, etc.; 3. understand the main tasks of various types of testing and be able to choose optimal testing schemes for various models of software development; 4. know the main methods of functional types of testing, analysis and synthesis of components of test tools, basics of static and dynamic testing; 5. to carry out test cases and generate reports with the assessment of detected defects according to the necessary signs; 6. to design concise checklists and sets of test cases for surface and in-depth software testing according to the given technical tasks for software development.
Required prior and related subjects: Ethical hacking in computer systems and networks Security of mobile technologies, part 2
Summary of the subject: The content of the discipline includes basic concepts in the field of software testing, levels and types of testing at various stages of the software development life cycle, methods and strategies for the formation of test sets for various categories of software products, problems of software product security testing in order to implement the established policy of information and/or cyber security. The main topics of lectures include: Testing and its role in improving software quality Types and areas of testing. Classification of testing Requirements analysis and test results Testing tools and its design. Checklists and test cases Defect reports. Evaluation of testing costs Features of testing for different models of software development Features of testing various types of software. Security testing The main topics of laboratory classes cover: Analysis of software requirements Planning and organization of the testing process Development of test cases Functional testing Bug reports and test reports Localization testing as part of functional testing Techniques and methods of test design
Опис: Testing and its role in improving software quality Introduction. The concept of testing. Variability and efficiency of testing. Features of the "software tester" profession Types and areas of testing. Classification of testing Stages of software development and testing life cycle. Test planning. Types of testing by startup, code access, automation, detailing, goal, etc Requirements analysis and test results Requirements specifications. Documentation testing. Testing in the software development cycle. Test results: definitions and types. Test strategy and plan. Test templates and scenarios. Testing tools and its design. Checklists and test cases Definition of the test case, its structure and types. Test case life cycle and fields. Testing methods. Static analysis, review, metrics. Dynamic testing Defect reports. Evaluation of testing costs Execution of test cases and bug reports. Defects, their reporting and evaluation. Planning and reporting of the test process. Test plan and its optimization Features of testing for different models of software development Familiarity with agile tools and practices. Elements of automation. System and regression testing Features of testing various types of software. Security testing Peculiarities of testing Web applications and Web services. Exploratory testing. Penetration testing
Assessment methods and criteria: A completed and defended coursework according to the formulated task, containing the necessary theoretical information and illustrating the selected problematic task regarding software testing with specific examples, is evaluated at 100 points
Критерії оцінювання результатів навчання: Verification of implementation of the KR 50 points Oral survey 50 points
Порядок та критерії виставляння балів та оцінок: 100–88 points – (“excellent”) awarded for a high level of knowledge (some inaccuracies are allowed) of the educational material of the component contained in the main and additional recommended literary sources, the ability to analyze the phenomena being studied in their interrelationship and development, clearly, succinctly, logically, consistently answer the questions, the ability to apply theoretical provisions when solving practical problems; 87–71 points – (“good”) is awarded for a generally correct understanding of the educational material of the component, including calculations, reasoned answers to the questions posed, which, however, contain certain (insignificant) shortcomings, for the ability to apply theoretical provisions when solving practical tasks; 70 – 50 points – (“satisfactory”) is awarded for weak knowledge of the component’s educational material, inaccurate or poorly reasoned answers, with a violation of the sequence of presentation, for weak application of theoretical provisions when solving practical problems; 49–26 points – (“not certified” with the possibility of retaking the semester control) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to apply theoretical provisions when solving practical problems; 25-00 points - ("unsatisfactory" with mandatory re-study) is awarded for ignorance of a significant part of the educational material of the component, significant errors in answering questions, inability to navigate when solving practical problems, ignorance of the main fundamental provisions.
Recommended books: 1. Якість програмного забезпечення та тестування: базовий курс. Навчальний посібник / За ред. Крепич С.Я., Співак І.Я. / для бакалаврів галузі знань 12 «Інформаційні технології» спеціальності 121 «Інженерія програмного забезпечення». – Терно¬піль: ФОП Паляниця В.А., 2020. – 478 с. 2. Білас О. Якість програмного забезпечення та тестування: навч.посібник. – Львів: Видавництво Львівської політехніки, 2011. – 216 с. 3. Верифікація і тестування програмного забезпечення. Конспект лекцій для студентів базових напрямів 6.050101 «Комп’ютерні науки» та 6.050103 «Програмна інженерія». І частина. / Укл.: О.Є. Білас. — Львів: Видавництво Національного університету «Львівська політехніка», 2008. — 80 с. 4. ISTQB Foundation Level Certification v. 4.0 Syllabus [Електронний ресурс] – Режим доступу : https://astqb.org/assets/documents/ISTQB_CTFL_Syllabus-v4.0.pdf (2023) 5. Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing. John Wiley & Sons. 6. Jorgensen, P. C. (2013). Software testing: a craftsman's approach. Auerbach Publications.
Уніфікований додаток: Lviv Polytechnic National University ensures the realization of the right of persons with disabilities to obtain higher education. Inclusive educational services are provided by the Service of accessibility to learning opportunities "Without restrictions", the purpose of which is to provide permanent individual support for the educational process of students with disabilities and chronic diseases. An important tool for the implementation of the inclusive educational policy at the University is the Program for improving the qualifications of scientific and pedagogical workers and teaching and support staff in the field of social inclusion and inclusive education. Contact at:
Академічна доброчесність: The policy regarding the academic integrity of the participants in the educational process is formed on the basis of compliance with the principles of academic integrity, taking into account the norms "Regulations on academic integrity at the Lviv Polytechnic National University" (approved by the academic council of the university on June 20, 2017, protocol No. 35).