Проєкт інформаційної̈ системи підтримки процесу тестування програмного продукту - Сподарик, Роман Мар'янович; Spodaryk, Roman Marianovych (Національний університет "Львівська політехніка", 2023)
Актуальність розробки якісного ПЗ підтверджується насамперед економічними чинниками. Як відомо, багато «галузевих стандартів на «добре» комерційне ПЗ передбачають наявність виникнення близько 6 помилок на 1000 рядків коду при середньому показникові у 30 таких помилок». Можна стверджувати, що рівень помилок за останні 20 років практично не змінився, не дивлячись на застосування об’єктно-орієнтованої технології, автоматичних налагоджувачів, більш якісних засобів тестування та більш суворий контроль типів у таких сучасних мовах програмування, як Java, Ada та ін. Якість програмного продукту характеризується набором властивостей, що визначають, наскільки продукт « хороший» з точки зору зацікавлених сторін, таких як замовник продукту, спонсор, кінцевий користувач, розробники і тестувальники продукту, інженери підтримки, співробітники відділів маркетингу, навчання і продажів. Кожен з учасників може мати різне уявлення про продукт і про те, наскільки він хороший чи поганий, тобто про те, наскільки висока якість продукту. Таким чином, постановка задачі забезпечення якості продукту виливається у завдання визначення зацікавлених осіб, їх критеріїв якості і потім – знаходження оптимального рішення, що задовольняє цим критеріям. Тестування є одним з найбільш усталених способів забезпечення якості розробки програмного забезпечення і входить в набір ефективних засобів сучасної системи забезпечення якості програмного продукту. Ефективне управління тестуванням є важливою частиною розвитку високоякісного програмного забезпечення та апаратних продуктів. Завдяки добре спланованому і добре керованому процесу тестування, команда може гарантувати, що вона виробляє найкращий з можливих продуктів, використовуючи максимальну частину зі своїх обмежених ресурсів. Ефективний процес управління тестуванням повинен привести до однієї спільної мети: розробляти продукти високої якості, які відповідають потребам клієнтів. Для досягнення цієї мети, важливо, щоб команди працювали в рамках перевіреної структури процесу. Конкуренція серед постачальників програмного забезпечення щодо розробки найкращих продуктів в найкоротші терміни призводить до зростаючої потреби у високорозвинених процесах управління тестуванням. Відколи тестові команди працюють з командами розробників, щоб розробляти готову продукцію в більш жорсткі терміни, процес управління тестуванням став у центрі уваги. У кінцевому рахунку, з правильним фокусом, ефективні процеси управління тестуванням не тільки підвищать рівень задоволеності клієнтів, але й призведуть до більшої плавності і послідовності проектів. Створення якісного продукту сприяє задоволенню вимог замовника, підвищенню репутації компанії-розробника а також приносить значну економічну вигоду. Забезпечення якості продукту, зокрема тестування програмного забезпечення, на даний час, є досить новою і недослідженою галуззю, а отже існують проблеми, які потребують вирішення. Проблема взаємодії тестувальників і розробників в процесі створення програмного забезпечення, яка розглядається в даній роботі, найбільш помітна в компаніях, де на проекті задіяні команди розробників і тестувальників, які розташовані в різних географічних місцях. А дані методи розробки набувають все більшої популярності. Актуальність роботи підсилюється тим, що немає розроблених програмних засобів, які б реалізовували взаємозв’язок цих двох команд. Основною метою роботи є визначення ефективних засобів для комунікації команд розробників і тестувальників і узагальнення отриманих даних для створення програмного продукту. Кінцевим результатом дослідження є реалізація системи, яка буде використовувати визначені засоби для покращення процесу тестування. Об’єктом дослідження є процес тестування програмного забезпечення в ІТ-компаніях. Предметом дослідження є взаємодія команд тестування і розробки під час процесу тестування розроблюваного продукту. Запропоновано методи організації взаємодії команд розробників та тестувальників у процесі розробки програмного продукту, що враховують залежності між вимогами та програмними компонентами продукту.

The relevance of the development of quality software is confirmed primarily by economic factors. As you know, many "industry standards for "good" commercial software predict the occurrence of about 6 errors per 1000 lines of code with an average of 30 such errors." It can be argued that the error rate has practically not changed over the past 20 years, despite the use of object-oriented technology, automatic debuggers, better testing tools and stricter type control in such modern programming languages as Java, Ada, etc. The quality of a software product is characterized by a set of properties that determine how good the product is from the point of view of stakeholders, such as the customer of the product, the sponsor, the end user, developers and testers of the product, support engineers, employees of the marketing, training and sales departments. Each of the participants may have a different idea about the product and how good or bad it is, that is, how high the quality of the product is. Thus, setting the task of ensuring product quality results in the task of identifying interested parties, their quality criteria, and then finding the optimal solution that meets these criteria. Testing is one of the most established ways of ensuring the quality of software development and is part of the set of effective tools of the modern software product quality assurance system. Effective test management is an important part of developing high-quality software and hardware products. With a well-planned and well-managed testing process, the team can ensure that it is producing the best possible product using the most of its limited resources. An effective test management process must lead to one common goal: to develop high-quality products that meet customer needs. To achieve this goal, it is important that teams work within a proven process framework. The competition among software vendors to develop the best products in the shortest time leads to a growing need for highly developed test management processes. As test teams work with development teams to develop finished products under tighter deadlines, the test management process has come into focus. Ultimately, with the right focus, effective test management processes will not only increase customer satisfaction, but also lead to smoother and more consistent projects. The creation of a high-quality product contributes to the satisfaction of the customer's requirements, increases the reputation of the developer company, and also brings significant economic benefits. Product quality assurance, in particular software testing, is currently a fairly new and unexplored field, so there are challenges that need to be addressed. The problem of the interaction of testers and developers in the process of creating software, which is considered in this paper, is most noticeable in companies where teams of developers and testers located in different geographical locations are involved in the project. And these development methods are gaining more and more popularity. The relevance of the work is enhanced by the fact that there are no developed software tools that would implement the relationship between these two teams. The main goal of the work is to determine effective means for communication between teams of developers and testers and to summarize the received data to create a software product. The end result of the study is the implementation of a system that will use the identified means to improve the testing process. The object of the study is the process of software testing in IT companies. The subject of the study is the interaction of testing and development teams during the process of testing the product under development. Methods of organizing the interaction of teams of developers and testers in the process of developing a software product are proposed, taking into account the dependencies between the requirements and the software components of the product.
The information system project for supporting the software product testing process
Keywords: 8.126.00.03; проєкт; управління проєктами; інформаційна система; управління вимогами проєкту; управління ризиками проєкту; project; project management; information system; project requirements management; project risk management