RU2774659C1 - System for controlling software testing - Google Patents

System for controlling software testing Download PDF

Info

Publication number
RU2774659C1
RU2774659C1 RU2021113580A RU2021113580A RU2774659C1 RU 2774659 C1 RU2774659 C1 RU 2774659C1 RU 2021113580 A RU2021113580 A RU 2021113580A RU 2021113580 A RU2021113580 A RU 2021113580A RU 2774659 C1 RU2774659 C1 RU 2774659C1
Authority
RU
Russia
Prior art keywords
test
subsystem
automated
testing
tests
Prior art date
Application number
RU2021113580A
Other languages
Russian (ru)
Inventor
Денис Олегович Аксёнов
Евгений Уралович Хафизов
Михаил Александрович Рябов
Original Assignee
Общество с ограниченной ответственностью "Тест АйТи"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Тест АйТи" filed Critical Общество с ограниченной ответственностью "Тест АйТи"
Priority to PCT/RU2021/000474 priority Critical patent/WO2022240310A1/en
Application granted granted Critical
Publication of RU2774659C1 publication Critical patent/RU2774659C1/en

Links

Images

Abstract

FIELD: computing technology.
SUBSTANCE: invention relates to the field of computer technology, in particular, to systems for testing control. The system for controlling software testing has a "client-server" architecture initiated by means of docker containerisation and containing at least one server configured to perform interaction between subsystems through requests of a distributed application in a REST API network, wherein the project subsystem is configured to store test documentation, the test library subsystem is configured to store test documentation and create a hierarchical structure of the project, the test plan subsystem is configured to schedule testing, determine the scope of scheduled testing, distribute testing tasks between performers, the configuration subsystem is configured to store and manage configurations, the automated test subsystem is configured to store information on the automated tests registered in the system, the request subsystem is configured to filter and search for test documentation.
EFFECT: increase in the quality of software testing.
18 cl, 1 tbl, 8 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[001] Данное техническое решение относится в общем к области вычислительной техники, а в частности к системам управления тестированием, предназначенным для упорядоченного хранения тестовой документации, планирования тестирования, а также стандартизации и хранения информации о результатах ручного и автоматизированного тестирования в единой среде и построения отчетности.[001] This technical solution relates in general to the field of computer technology, and in particular to test management systems designed for orderly storage of test documentation, test planning, as well as standardization and storage of information about the results of manual and automated testing in a single environment and reporting .

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[002] В настоящее время системы управления тестированием используются для хранения информации о том, как должным образом проводить тестирование, осуществление очередности проведения тестирования в соответствии с его планом, а также для получения информации в виде отчетов о стадии тестирования и качестве тестируемого продукта или другими словами программного обеспечения. Инструменты имеют различные подходы к тестированию и, таким образом, включают в себя различные наборы функций. Обычно они используются для планирования ручного тестирования, сбора данных о результатах прохождения чек-листов и тест-кейсов, а также для получения оперативной информации в виде отчетов. Системы управления тестированием помогают оптимизировать процесс тестирования и обеспечивают быстрый доступ к анализу данных, средствам совместной работы и более качественному взаимодействию между несколькими проектными группами. Многие системы управления тестированием включают в себя возможность работы с требованиями.[002] Currently, test management systems are used to store information on how to properly conduct testing, the implementation of the order of testing in accordance with its plan, and to obtain information in the form of reports on the stage of testing and the quality of the product under test, or in other words software. The tools have different approaches to testing and thus include different feature sets. They are usually used to plan manual testing, collect data on the results of passing checklists and test cases, as well as to obtain operational information in the form of reports. Test management systems help streamline the testing process and provide quick access to data analysis, collaboration tools, and better communication between multiple project teams. Many test management systems include the ability to work with requirements.

[003] Недостатки ручного тестирования, которое очень распространено повсеместно при анализе программного обеспечения, вполне понятны и очевидны. Ручное тестирование выполняется значительно медленнее автоматического. Порой это может занять пару недель вручную вместо одного часа скриптом, в других случаях может соотношение может колебаться в меньших пределах. При этом хорошо написанный скрипт не ошибается и не пропускает дефекты, устав от однообразной рутины день за днем, в отличие от инженера. Вручную практически невозможно выполнять сценарии, требующие большой скорости действий или крайне высокой точности по времени.[003] The disadvantages of manual testing, which is very common throughout software analysis, are quite clear and obvious. Manual testing is much slower than automatic testing. Sometimes it can take a couple of weeks manually instead of one hour by script, in other cases the ratio may fluctuate within smaller limits. At the same time, a well-written script does not make mistakes and does not miss defects, tired of the monotonous routine day after day, unlike an engineer. Manually, it is almost impossible to execute scenarios that require high speed of action or extremely high accuracy in time.

[004] Из уровня техники известен способ, раскрытый в CN106897217A «Способ тестирования и устройство для тестирования» (патентообладатель: BEIJING QUNAR SOFTWARE TECH СО LTD, дата публикации: 2017-06-27). В изобретении заявлены метод тестирования и устройство для тестирования, причем способ включает следующие этапы: получение по меньшей мере одного сообщения с запросом, при этом сообщение с запросом используется для тестирования программы, по меньшей мере одно сообщение с запросом отправляется в программу для проверки версии для получения первого результата тестирования и отправка в стабильную версию программы для получения второго результата тестирования, при этом программа стабильной версии представляет собой сообщение с запросом, может возвращать результат программы, сравнивая первый результат теста и второй результат теста, получая результат сравнения, при этом результат сравнения предназначен для определения функциональной стабильности тестовой версии. Изобретение решает проблему, заключающуюся в том, что тестируемый пример тестирует код в предшествующем уровне техники, тем самым увеличивая стоимость поддержки программного обеспечения в уровне техники.[004] In the prior art, the method disclosed in CN106897217A "Testing Method and Testing Apparatus" (patent holder: BEIJING QUNAR SOFTWARE TECH CO LTD, publication date: 2017-06-27) is known. The invention claims a testing method and a testing apparatus, the method comprising the following steps: receiving at least one request message, wherein the request message is used to test the program, at least one request message is sent to the version check program to obtain the first test result and sending to the stable version of the program to obtain the second test result, while the stable version program is a query message, can return the result of the program, comparing the first test result and the second test result, obtaining a comparison result, while the comparison result is intended for determining the functional stability of the test version. The invention solves the problem that the test case tests the code in the prior art, thereby increasing the cost of maintaining the software in the prior art.

СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯESSENCE OF THE TECHNICAL SOLUTION

[005] Технической проблемой или технической задачей, решаемой в данном техническом решении, является создание автоматизированной системы управления тестированием программного обеспечения.[005] The technical problem or technical problem solved in this technical solution is the creation of an automated software testing management system.

[006] Техническим результатом, достигаемым при решении вышеуказанной технической проблемы, является повышение качества автоматизированного тестирования программного обеспечения.[006] The technical result achieved by solving the above technical problem is to improve the quality of automated software testing.

[007] Дополнительно достигаемым техническим результатом является упорядоченное хранение тестовой документации с учетом всех версий документа с возможностью восстановления любой версии документа при необходимости.[007] An additional achievable technical result is the ordered storage of test documentation, taking into account all versions of the document with the ability to restore any version of the document if necessary.

[008] Также осуществляется[008] Also carried out

• использование единой точки получения информации для принятия управленческих решений;• use of a single point of obtaining information for making managerial decisions;

• возможность внедрения процесса контроля качества, обеспеченная универсальными настраиваемыми пользовательскими атрибутами в системе;• the possibility of implementing a quality control process, provided by universal customizable user attributes in the system;

• распределение уровней доступа к тестовой документации и результатам выполнения тестирования, которое позволяет ограничивать доступ к содержащейся в ней информации, которая может являться коммерческой тайной.• distribution of access levels to test documentation and test results, which allows you to restrict access to the information contained in it, which may be a commercial secret.

[009] Указанный технический результат достигается благодаря системе управления тестированием программного обеспечения, которая содержит по меньшей мере один сервер, выполненный с возможностью осуществления взаимодействие между подсистемами посредством запросов распределенного приложения в сети; подсистему проектов, выполненную с возможностью хранения тестовой документации и управления тестированием по каждому отдельному проекту и формирования отчетности в разрезе проектов; подсистему библиотеки тестов, выполненную с возможностью хранения тестовой документации и создания иерархической структуры проекта, разработки и согласования тестовой документации; подсистему тест-планов, выполненную с возможностью планирования тестирования, определения объема запланированного тестирования, распределения задач на тестирование между исполнителями, в соответствии с уровнем нагрузки пользователя; подсистему конфигурации, выполненную с возможностью хранения конфигураций, на которых проводится тестирование в проекте, управления их настройками; подсистему автоматизированных тестов, выполненную с возможностью хранения информации об автоматизированных тестах, зарегистрированных в системе, а также просмотра и анализа данных о прохождениях автоматизированных тестов; подсистему запросов, выполненную с возможностью фильтрации и поиска тестовой документации по проектам и управления сохраненными фильтрами.[009] The specified technical result is achieved thanks to the software test management system, which contains at least one server configured to interact between subsystems through distributed application requests on the network; a subsystem of projects, made with the ability to store test documentation and manage testing for each individual project and generate reports in the context of projects; a test library subsystem configured to store test documentation and create a hierarchical project structure, develop and approve test documentation; a test plan subsystem configured to plan testing, determine the scope of planned testing, distribute tasks for testing between performers, in accordance with the user's workload level; a configuration subsystem configured to store configurations on which testing is carried out in the project, manage their settings; an automated test subsystem configured to store information about automated tests registered in the system, as well as view and analyze data on passing automated tests; a query subsystem configured to filter and search test documentation for projects and manage saved filters.

[0010] В некоторых вариантах реализации технического решения подсистема библиотеки тестов имеет структуру для хранения тест-кейсов, разделенных по функциональным областям тестируемого продукта.[0010] In some implementations of the technical solution, the test library subsystem has a structure for storing test cases, divided by functional areas of the product under test.

[0011] В некоторых вариантах реализации технического решения подсистема тест-планов содержит результаты выполнения тестирования.[0011] In some implementations of the technical solution, the test plan subsystem contains the results of testing.

[0012] В некоторых вариантах реализации технического решения в подсистеме тест-планов формируется отчетность по отдельным итерациям тестирования в рамках тест-планов.[0012] In some embodiments of a technical solution, the test plan subsystem generates reports on individual testing iterations within the test plans.

[0013] В некоторых вариантах реализации технического решения подсистема автоматизированных тестов содержит информацию, отражающую метаинформацию об автоматизированном тесте и/или его название, и/или связанные тест-кейсы, и/или ссылки вложения.[0013] In some implementations of the technical solution, the automated test subsystem contains information reflecting meta-information about the automated test and/or its name, and/or associated test cases, and/or attachment links.

[0014] В некоторых вариантах реализации технического решения в подсистеме автоматизированных тестов автоматизированный тест представляет из себя программный код, эмулирующий действия пользователей или сторонней системы в тестируемом продукте.[0014] In some embodiments of a technical solution in an automated test subsystem, an automated test is a program code that emulates the actions of users or a third-party system in the product being tested.

[0015] В некоторых вариантах реализации технического решения в подсистеме автоматизированных тестов регистрируют автоматизированный тест.[0015] In some embodiments of a technical solution, an automated test is registered in the automated test subsystem.

[0016] В некоторых вариантах реализации технического решения в подсистеме автоматизированных тестов результаты выполнения автоматизированного теста фиксируются с помощью API.[0016] In some embodiments of a technical solution in the automated test subsystem, the results of the automated test are recorded using the API.

[0017] В некоторых вариантах реализации технического решения при регистрации результата указывают исход и дополняют временем прохождения и/или приложенными файлами, и/или результатами прохождения каждого шага.[0017] In some embodiments of the technical solution, when registering the result, the outcome is indicated and supplemented with the passage time and / or attached files, and / or the results of each step.

[0018] В некоторых вариантах реализации технического решения в подсистеме автоматизированных тестов в случае неуспешного прохождения тестов прикладывают к результату прохождения автоматизированного теста сообщения об обнаруженных ошибках и детальные отчеты о них, которые формируются при прохождении автоматизированного теста.[0018] In some embodiments of the technical solution in the automated test subsystem, in case of unsuccessful passing of the tests, messages about the detected errors and detailed reports about them that are generated when passing the automated test are applied to the result of passing the automated test.

[0019] В некоторых вариантах реализации технического решения в подсистеме автоматизированных тестов после получения результатов автоматизированного теста, при разборе полученных данных, указывают класс и категорию проблемы.[0019] In some embodiments of the technical solution in the automated test subsystem, after receiving the results of the automated test, when parsing the received data, the class and category of the problem are indicated.

[0020] В некоторых вариантах реализации технического решения в подсистеме запросов выводятся все тест-кейсы и чек-листы, к которым у пользователя есть доступ.[0020] In some embodiments of the technical solution, the query subsystem displays all test cases and checklists to which the user has access.

[0021] В некоторых вариантах реализации технического решения в подсистеме запросов поиск выполняется на сервере с использованием фильтров по пользовательским атрибутам и/или приоритетам, и/или статусам.[0021] In some implementations of the technical solution in the query subsystem, the search is performed on the server using filters on user attributes and/or priorities and/or statuses.

[0022] В некоторых вариантах реализации технического решения в подсистеме запросов поиск выполняется по всем тест-кейсам и чек-листам, на которые у пользователя есть доступ на чтение.[0022] In some implementations of the technical solution in the query subsystem, the search is performed on all test cases and checklists to which the user has read access.

[0023] В некоторых вариантах реализации технического решения в подсистеме запросов запрос представляет из себя сохраненные фильтры.[0023] In some implementations of the technical solution in the query subsystem, the query is stored filters.

[0024] В некоторых вариантах реализации технического решения в подсистеме запросов при открытии запроса выводится список всех тест-кейсов и чек-листов, которые подходят под сохраненные фильтры.[0024] In some implementations of a technical solution in the query subsystem, when a query is opened, a list of all test cases and checklists that match the saved filters is displayed.

[0025] В некоторых вариантах реализации технического решения в подсистеме запросов запрос является приватны или публичными.[0025] In some implementations of the technical solution in the request subsystem, the request is private or public.

[0026] В некоторых вариантах реализации технического решения запрос открывают по ссылке или размещают на внешнем ресурсе.[0026] In some embodiments of the technical solution, the request is opened by a link or posted on an external resource.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0027] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:[0027] The features and advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:

[0028] На Фиг. 1 показан пример реализации схемы взаимодействия с внешними сервисами системы управления тестированием программного обеспечения.[0028] In FIG. 1 shows an example of the implementation of the scheme of interaction with external services of the software testing management system.

[0029] На Фиг. 2 показан пример реализации системы управления тестированием программного обеспечения.[0029] In FIG. 2 shows an example implementation of a software test management system.

[0030] На Фиг. 3 показан пример реализации подсистемы проектов.[0030] In FIG. 3 shows an example of the implementation of the project subsystem.

[0031] На Фиг. 4 показан вариант реализации системы управления тестированием программного обеспечения.[0031] In FIG. 4 shows an implementation of a software test management system.

[0032] На Фиг. 5 показан пример реализации подсистемы библиотеки тестов, предназначенная для хранения тестовой документации.[0032] In FIG. Figure 5 shows an example implementation of the test library subsystem designed to store test documentation.

[0033] На Фиг. 6 показан пример реализации подсистемы тест-планов, которая предназначена для планирования тестирования, определения объема запланированного тестирования, распределения задач на тестирование между исполнителями.[0033] In FIG. Figure 6 shows an example of the implementation of the test plan subsystem, which is designed for testing planning, determining the scope of planned testing, and distributing tasks for testing between performers.

[0034] На Фиг. 7 показан пример реализации подсистемы конфигурации, которая предназначена для хранения конфигураций, на которых проводится тестирование в проекте, управления их настройками.[0034] In FIG. Figure 7 shows an example of the implementation of the configuration subsystem, which is designed to store configurations on which testing is carried out in the project, and manage their settings.

[0035] На Фиг. 8 показан вариант реализации подсистемы автотестов, которая предназначена для хранения информации об автоматизированных тестах, зарегистрированных в системе управления тестированием, а также просмотра и анализа данных о прохождениях автоматизированных тестов[0035] In FIG. Figure 8 shows a variant of the implementation of the autotest subsystem, which is designed to store information about automated tests registered in the test management system, as well as view and analyze data on passing automated tests.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

[0036] Ниже будут подробно рассмотрены термины и их определения, используемые в описании технического решения.[0036] Below will be discussed in detail the terms and their definitions used in the description of the technical solution.

[0037] В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций), централизованные и распределенные базы данных, смарт-контракты.[0037] In this invention, the system refers to a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions), centralized and distributed databases, smart contracts.

[0038] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы), смарт-контракт или подобное. Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.[0038] A command processing device means an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs), a smart contract, or the like. An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices. The role of a storage device can be, but not limited to, hard disk drives (HDD), flash memory, ROM (read only memory), solid state drives (SSD), optical drives.

[0039] Программа (иногда - «ПО») - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0039] A program (sometimes "software") is a sequence of instructions intended to be executed by a computer control device or command processing device.

[0040] На Фиг. 1 показан пример реализации схемы взаимодействия системы управления тестированием программного обеспечения с внешними сервисами, которые описаны ниже.[0040] In FIG. Figure 1 shows an example of the implementation of a scheme for the interaction of a software testing management system with external services, which are described below.

[0041] Браузер 130 - программное обеспечение, предназначенное для просмотра веб-страниц. Работа пользователя с техническим решением проводится через пользовательский интерфейс, отображаемый в браузере 130. Пользовательский интерфейс может быть разработан, например, на фреймворке Angular, который является кроссплатформенным JavaScript-фреймворком, который работает с HTML, используя статическую и динамическую информацию, получаемую от сервера 100 приложения через API (программный интерфейс приложения, интерфейс прикладного программирования).[0041] Browser 130 is software for browsing web pages. The user's work with the technical solution is carried out through the user interface displayed in the browser 130. The user interface can be developed, for example, on the Angular framework, which is a cross-platform JavaScript framework that works with HTML using static and dynamic information received from the application server 100 via API (Application Programming Interface, Application Programming Interface).

[0042] REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером 100 посредством протокола HTTP. Особенность REST в том, что сервер 100 не запоминает состояние пользователя между запросами - в каждом запросе передается информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.[0042] REST (RESTful) is the general principles for organizing the interaction of an application/site with the server 100 via the HTTP protocol. The peculiarity of REST is that the server 100 does not remember the state of the user between requests - in each request, information is transmitted that identifies the user (for example, a token obtained through OAuth authorization) and all the parameters necessary to complete the operation.

[0043] Система непрерывной интеграции 140 (например, Jenkins, Gitlab и т.д.) - программное обеспечение, предназначенное для автоматизированной сборки кода. В области тестирования системы непрерывной интеграции используются для сборки кода автотестов. Данная система интегрируется с системами непрерывной интеграции 140 посредством технологии Webhook, а также API. Webhook - это обратный вызов системы по наступлению какого-либо события в данной системе. Например, в системе реализована возможность создавать Webhook на создание запуска автотестов. Если в системе создается новый запуск автотестов, выполняется заданный ранее запрос.[0043] A continuous integration system 140 (eg, Jenkins, Gitlab, etc.) is software designed for automated code building. In the field of testing, continuous integration systems are used to build code for automated tests. This system integrates with continuous integration systems 140 through Webhook technology, as well as API. Webhook is a system callback on the occurrence of some event in this system. For example, the system has the ability to create a Webhook for creating an autotest run. If a new run of Autotests is created in the system, the previously specified query is executed.

[0044] Система отслеживания задач 160 (например, Jira) - программное обеспечение, предназначенное для управления проектами в IT - сфере. Интегрируется с данной системой посредством плагина и/или API. Данная система создает дубликаты тест-кейсов в системе отслеживания задач 160, получает информацию о статусе задач и их приоритетах, а также создает дефекты/ошибки (жарг. «баги») в системе отслеживания задач 160. Интеграция двусторонняя, любые связи, созданные в системе, создаются как внешние ссылки в системе отслеживания задач 160.[0044] Issue tracking system 160 (eg, Jira) is software designed for project management in the IT field. Integrates with this system through a plugin and / or API. This system creates duplicate test cases in the 160 issue tracking system, obtains information about the status of issues and their priorities, and creates defects / errors (jar. "bugs") in the 160 issue tracking system. Integration is two-way, any links created in the system , are created as external links in the issue tracker 160.

[0045] AD/LDAP 150 - служба каталогов, предоставляющая функции аутентификации, управление пользователями и их группами, разрешениями. Интегрируется с системой в части получения из AD/LDAP 150 пользователей и групп для дальнейшей выдачи ролей и разрешений в системе. Система управления тестированием программного обеспечения получает список пользователей и групп из AD/LDAP 150, также лишает их ролей и удаляет из системы, если на стороне AD/LDAP 150 они утратили доступ.[0045] AD/LDAP 150 is a directory service that provides authentication functions, management of users and their groups, permissions. It integrates with the system in terms of obtaining 150 users and groups from AD/LDAP for further issuing roles and permissions in the system. The software test management system obtains a list of users and groups from AD/LDAP 150, also strips them of their roles, and removes them from the system if they lose access on the AD/LDAP 150 side.

[0046] OpenID Connect провайдер 160 - сервис, реализованный по протоколу OpenID Connect предназначенный для аутентификации пользователей в системе на базе протокола Oauth 2.0. Интеграция с системой управления тестированием программного обеспечения реализована по протоколу OpenID Connect и конфигурируется в панели администратора. Настройки на стороне системы позволяют интегрироваться с любым сервисом, поддерживающим протокол OpenID Connect в части создания пользователей и их аутентификации в системе. Пользователи получают возможность входа через единый сервис аутентификации. В некоторых вариантах реализации могут использоваться биометрические алгоритмы аутентификации, двухфакторная аутентификация, аутентификация по ключам доступа, аутентификация по токенам и т.д., не ограничиваясь.[0046] OpenID Connect provider 160 is a service implemented using the OpenID Connect protocol designed to authenticate users in a system based on the Oauth 2.0 protocol. Integration with the software testing management system is implemented using the OpenID Connect protocol and is configured in the admin panel. Settings on the system side allow you to integrate with any service that supports the OpenID Connect protocol in terms of creating users and authenticating them in the system. Users get the opportunity to log in through a single authentication service. Some implementations may use biometric authentication algorithms, two-factor authentication, access key authentication, token authentication, etc., but are not limited to.

[0047] Данное техническое решение представляет собой систему управления тестированием программного обеспечения, которая используются для хранения тестовой документации (тест-планов, тестовых наборов, тестовых случаев и чек-листов с проверками функциональности, результатов выполнения тестирования в соответствии с его планом, а также отчетов о стадии тестирования в виде документа, в котором представлена информация о выполненных тестах, их результатах, тестировщиках, которые участвовали в тестировании, найденных дефектах и т.д., не ограничиваясь) и осуществления автоматизированного управления тестированием программного обеспечения. На основании данной информации можно делать выводы о качестве тестируемого продукта или, иными словами, программного обеспечения.[0047] This technical solution is a software test management system that is used to store test documentation (test plans, test suites, test cases and checklists with functionality checks, test results in accordance with its plan, as well as reports about the testing stage in the form of a document that provides information about the tests performed, their results, testers who participated in testing, defects found, etc., without limitation) and the implementation of automated software testing management. Based on this information, conclusions can be drawn about the quality of the tested product or, in other words, software.

[0048] Тестовый случай (далее - «тест-кейс») - это документ, описывающий последовательность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции программного обеспечения или его части, а также ожидаемые результаты прохождения этих шагов. Тестовый случай формируется на основе функциональных и нефункциональных требований к разрабатываемому ПО.[0048] A test case (hereinafter referred to as a “test case”) is a document that describes a sequence of steps, specific conditions and parameters necessary to verify the implementation of a tested software function or part of it, as well as the expected results of passing these steps. The test case is formed on the basis of functional and non-functional requirements for the developed software.

[0049] Под качеством продукта в данном контексте подразумевается качество тестируемого программного обеспечения, а именно степень соответствия реализованного программного обеспечения требованиям и пригодность его к использованию.[0049] The quality of the product in this context refers to the quality of the software under test, namely the degree to which the implemented software meets the requirements and suitability for use.

[0050] Тестовая документация описывает варианты использования ПО, в соответствии с требованиями к системе. Любые несоответствия тестируемого ПО первоначальным требованиям расцениваются как дефекты (жарг. «баги»).[0050] The test documentation describes how to use the software, in accordance with the requirements for the system. Any inconsistencies of the software under test with the original requirements are regarded as defects (jar. "bugs").

[0051] Наличие дефектов (жарг. «багов») расценивается как отсутствие качества. Помимо первоначальных требований к разрабатываемому ПО, на качество влияет пригодность программного обеспечения к использованию, т.е. соответствие вариантов использования ожиданиям конечного пользователя.[0051] The presence of defects (slang. "bugs") is regarded as a lack of quality. In addition to the initial requirements for the software being developed, the suitability of the software for use, i.e. alignment of use cases with end user expectations.

[0052] План тестирования (далее - «тест-план») - это документ, описывающий объем работ по тестированию, содержащий информацию об объекте тестирования, стратегии тестирования, сроках тестирования, критериях начала и завершения тестирования, а также перечень проверок, которые должны быть пройдены.[0052] A test plan (hereinafter referred to as the “test plan”) is a document describing the scope of testing work, containing information about the test object, testing strategy, testing deadlines, criteria for starting and completing testing, as well as a list of checks that should be passed.

[0053] Отчет о выполнении тестирования - это документ, обобщающий результаты работ по тестированию и содержащий информацию, достаточную для соотнесения текущего качества разрабатываемого программного обеспечения с планом тестирования и принятия управленческих решений.[0053] A test execution report is a document that summarizes the results of testing work and contains information sufficient to correlate the current quality of the software being developed with the test plan and make management decisions.

[0054] Тестовая документация - это любые артефакты, полученные в ходе планирования, выполнения и фиксации результатов тестирования. На этапе подготовки к тестированию формируются тест-кейсы и чек-листы для них (документ, регламентирующий, что является успехом прохождения тест-кейса). На этапе планирования тестирования формируется тест-план. По результатам выполнения тестирования формируется отчет о результатах тестирования. Все это представляет из себя тестовую документацию в совокупности.[0054] Test documentation is any artifacts obtained during the planning, execution and recording of test results. At the stage of preparation for testing, test cases and checklists for them are formed (a document regulating what constitutes the success of passing a test case). At the test planning stage, a test plan is formed. Based on the results of testing, a report on the results of testing is generated. All this is a test documentation in the aggregate.

[0055] Система управления тестированием имеет архитектуру «клиент-сервер». «Клиент - сервер» (англ. client-server) - вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами.[0055] The test management system has a client-server architecture. "Client - server" (English client-server) - a computing or network architecture in which tasks or network load are distributed between service providers, called servers, and service customers, called clients.

[0056] Клиент в данном случае представляет собой браузер 130, в котором открывается графический интерфейс пользователя (англ. «GUI»), предназначенный для взаимодействия пользователя системы с сервером 100 посредством использования компонентов интерфейса.[0056] The client in this case is a browser 130, which opens a graphical user interface (eng. "GUI"), designed to interact with the user of the system with the server 100 through the use of interface components.

[0057] Сервером 100 в данном случае являются компоненты системы, осуществляющие получение и обработку запросов от клиента (т.е. из браузера), а также отправку запросов на клиент и иные внешние системы для получения информации.[0057] The server 100 in this case are the components of the system that receive and process requests from the client (i.e., from the browser), as well as send requests to the client and other external systems to obtain information.

[0058] Для развертывания и запуска системы используются средства docker - контейнеризации. Docker-контейнеризация - это технология, позволяющая программно на определенном участке памяти изолированно настраивать окружение, а также устанавливать операционные системы и программные продукты внутри различных контейнеров. Контейнеризация позволяет гибко настраивать параметры окружения внутри контейнеров, не меняя при этом настройки глобального сервера. Развертывание и запуск системы происходит с помощью docker compose, что позволяет запускать несколько контейнеров, связанных между собой, в каждом контейнере разворачивается отдельный сервис, настройка связей происходит в соответствии с указанными параметрами. Docker Compose - это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развертыванием проектов. Docker - программное обеспечение для автоматизации развертывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений.[0058] Docker containerization tools are used to deploy and run the system. Docker containerization is a technology that allows you to programmatically configure the environment in isolation in a certain area of memory, as well as install operating systems and software products inside various containers. Containerization allows you to flexibly configure environment settings inside containers without changing the settings of the global server. The system is deployed and launched using docker compose, which allows you to run several containers interconnected, a separate service is deployed in each container, the links are configured in accordance with the specified parameters. Docker Compose is a tool included with Docker. It is designed to solve problems related to the deployment of projects. Docker is a software for automating the deployment and management of applications in containerized environments, an application containerizer.

[0059] Одной из отличительных особенностей данного технического решения является наличие общих шагов. Общий шаг - это сущность, которая позволяет хранить и повторно использовать повторяющиеся шаги в разных тестовых случаях. При создании общего шага в него включаются отдельные шаги проверок, повторяющиеся для нескольких тестовых случаев. В качестве примера реализации можно привести авторизацию на тестируемом сайте. Для выполнения большинства проверок нужно сначала выполнить вход под пользователем. Этот шаг будет повторяться во многих тестовых случаях при тестировании работы веб-сайта. Система позволяет создать общий шаг, содержащий в себе необходимые для входа на веб-сайт действия и использовать его во всех проверках. При этом изменение общего шага влечет за собой его изменение во всех тестовых случаях, где он используется. Таким образом, нужно менять только один общий шаг, а не все тестовые случаи, где он упоминается, что экономит время осуществления тестирования.[0059] One of the distinguishing features of this technical solution is the presence of common steps. A common step is an entity that allows you to store and reuse repeated steps across different test cases. When you create a general step, it includes individual test steps that are repeated for several test cases. As an example of implementation, we can give authorization on the site under test. To perform most checks, you must first log in as a user. This step will be repeated in many test cases when testing the operation of the website. The system allows you to create a common step that contains the actions required to enter the website and use it in all checks. At the same time, changing the common step entails changing it in all test cases where it is used. Thus, only one general step needs to be changed, and not all test cases where it is mentioned, which saves testing time.

[0060] В данном решении также реализовано версионирование тест-кейсов, которое подразумевает под собой возможность просматривать предыдущие версии документов после их изменений, «откатываться» на предыдущие версии, причем при просмотре подсвечиваются отличия между версиями.[0060] This solution also implements versioning of test cases, which implies the ability to view previous versions of documents after they have been changed, “roll back” to previous versions, and when viewing, differences between versions are highlighted.

[0061] Одной из отличительных особенностей данного решения является возможность совместного анализа результатов ручного и автоматизированного тестирования, причем по результатам выполнения тестирования формируется единый отчет в рамках всего тест-плана, где можно увидеть автоматизировано или вручную был пройден тест. В рамках одного тест-плана можно выполнять автоматизированные тесты (далее - автотесты) и ручные тесты, при этом на экране выполнения можно увидеть какие тест-кейсы автоматизированы, т.е. имеют привязанные автотесты, а какие проходятся только вручную. Выбрав автоматизированные тесты, можно запустить прогон автотестов, выполнить запуск автотестов. Параллельно можно выполнять ручные тесты, отмечая их результаты. При прохождении всех тестов на вкладке «Отчет» в режиме реального времени можно увидеть результаты как ручных, так и автоматизированных тестов, с деталями результата. При открытии прогона тестов, можно также увидеть все автотесты, которые пройдены.[0061] One of the distinguishing features of this solution is the ability to jointly analyze the results of manual and automated testing, and based on the results of testing, a single report is generated within the entire test plan, where you can see whether the test was automated or manually passed. Within one test plan, you can run automated tests (hereinafter referred to as autotests) and manual tests, while on the execution screen you can see which test cases are automated, i.e. have attached autotests, and which ones are passed only manually. By selecting automated tests, you can run autotests, run autotests. In parallel, you can run manual tests, noting their results. As you run all the tests, you can see the real-time results of both manual and automated tests in the Report tab, with details of the result. When you open a test run, you can also see all the autotests that have passed.

[0062] Система управления тестированием предназначена для комплексного информационно-аналитического обеспечения процессов на предприятиях, занимающихся разработкой программного обеспечения в части исполнения следующих процессов:[0062] The test management system is designed for complex information and analytical support of processes at enterprises engaged in software development in terms of the execution of the following processes:

• создание тестовой документации (тест-кейсы, чек-листы);• creation of test documentation (test cases, checklists);

• хранение тестовой документации в иерархической структуре, обеспечивающей удобство поиска и навигации по разделам;• storage of test documentation in a hierarchical structure, providing easy search and navigation through sections;

• согласование тестовой документации;• approval of test documentation;

• формирование списков тест-кейсов к прохождению, объединенных общими признаками (релиз, задача и т.д.);• formation of lists of test cases for passing, united by common features (release, task, etc.);

• планирование тестирования;• test planning;

• регистрация результатов выполнения тестирования и хранение истории результатов;• registration of test results and storage of results history;

• построения отчетности по тестированию и тестовой документации в проектах;• construction of reporting on testing and test documentation in projects;

• мониторинга выполнения автоматизированного тестирования.• monitoring the execution of automated testing.

[0063] Система управления тестированием программного обеспечения состоит из ряда подсистем, реализующих различную функциональность, которые между собой все связаны функционально и аппаратно. Взаимодействие между подсистемами обеспечивается на сервере 100, с помощью запросов REST API.[0063] The software test management system consists of a number of subsystems that implement different functionality, which are all interconnected functionally and in hardware. Interaction between subsystems is provided on server 100 using REST API requests.

[0064] Далее ниже представлены краткие характеристики и описание каждой подсистемы, как показано на Фиг. 2, а также взаимодействие между ними.[0064] The following is a summary of the characteristics and description of each subsystem, as shown in FIG. 2, as well as the interaction between them.

[0065] Подсистема проектов 310, как показано на Фиг. 3, включает в себя отдельные сущности, предназначенные для хранения тестовой документации и управления тестированием, разграничения прав между ними, а также формирования отчетности в разрезе проектов. Проект 310.1 представляет из себя изолированное хранилище для тестовой документации (тест-кейсов, чек-листов), тест-планов, результатов выполнения тестирования. В проекте 310.1 хранятся все данные, а доступ при этом разграничен, содержимое проекта видят только те участники команды (пользователя 320 на Фиг. 3), которые явно получили роль в проекте 310.1. Проектные роли формируются в панели администратора и представляют из себя набор разрешений и уровней доступа пользователей 320 в разделы проекта. Затем эти проектные роли назначаются в проекте на пользователей 320, после чего пользователи 320 получают доступы к разделам проекта 310.1 в соответствии со своей проектной ролью. На Фиг. 2 отображена схема компонентов системы и их связей более подробно. Система может хранить в себе несколько проектов 310.1, как показано на Фиг. 3, с распределением доступа, настраиваемым в модуле администрирования. При этом проект 310.1 содержит в себе такие подмодули как библиотека тестов, конфигурации, параметры тестов, автотесты, требования, дефекты (показаны на Фиг. 3).[0065] The projects subsystem 310, as shown in FIG. 3 includes separate entities intended for storing test documentation and testing management, delimiting rights between them, as well as generating reports in the context of projects. Project 310.1 is an isolated repository for test documentation (test cases, checklists), test plans, test results. All data is stored in project 310.1, and access is limited, the contents of the project are visible only to those team members (user 320 in Fig. 3) who have explicitly received a role in project 310.1. Project roles are formed in the admin panel and represent a set of permissions and access levels for 320 users to sections of the project. These project roles are then assigned in the project to users 320, whereupon the users 320 gain access to sections of the project 310.1 according to their project role. On FIG. 2 shows a diagram of the system components and their connections in more detail. The system may store multiple projects 310.1 as shown in FIG. 3, with access distribution configured in the administration module. At the same time, project 310.1 contains such submodules as a test library, configurations, test parameters, autotests, requirements, defects (shown in Fig. 3).

[0066] Подсистема библиотеки тестов 510, показанная на Фиг. 5, предназначена для хранения тестовой документации, представляет из себя раздел, в котором создается иерархическая структура проекта 310.1, разрабатывается и согласовывается тестовая документация. Внутри проекта 310.1 создается структура папок для хранения тест-кейсов, разделенных по функциональным областям тестируемого продукта. Такое упорядоченное хранение документации обеспечивает простоту управления тестовой документацией и удобство поиска для пользователей. Подсистема библиотеки тестов 510 выполняет функцию хранилища для тестовой документации, хранимые в ней сущности содержат сценарии проверок, используемых при планировании и выполнении тестирования в тестовых наборах тест-планов. Тест-кейсы и чек-листы используются для создания тестовых наборов в тест-планах, а общие шаги формируются для использования в тест-кейсах. Описание сценариев проверок, хранящихся в библиотеке тестов, может происходить вручную или автоматизировано на основе автотестов. Внутри подсистемы библиотеки тестов реализованы поиск, фильтрация, с возможностью сохранения фильтров, сортировка, а также открытие определенных секций и тестов по прямой ссылке.[0066] The test library subsystem 510 shown in FIG. 5, designed to store test documentation, is a section in which the hierarchical structure of the project 310.1 is created, test documentation is developed and agreed upon. Within project 310.1, a folder structure is created to store test cases, divided by functional areas of the product being tested. This organized storage of documentation ensures that test documentation is easy to manage and searchable for users. The test library subsystem 510 acts as a repository for test documentation, the entities stored in it contain the test scripts used in planning and executing tests in test cases of test plans. Test cases and checklists are used to create test cases in test plans, and general steps are generated for use in test cases. The description of test scripts stored in the test library can be manual or automated based on autotests. Inside the subsystem of the test library, search, filtering, with the ability to save filters, sorting, as well as opening certain sections and tests by direct link, are implemented.

[0067] Подсистема тест-планов 610, показанная на Фиг. 6, предназначена для планирования тестирования, определения объема запланированного тестирования, распределения задач на тестирование между исполнителями, в соответствии с уровнем нагрузки. Также в этом разделе отражаются результаты выполнения тестирования и формируется отчетность по отдельным итерациям тестирования в рамках тест-планов 620. Тестовые планы 620 включают в себя тестовые наборы, состоящие из тест-кейсов и чек-листов, полученные из подсистемы библиотеки тестов 510. Помимо этого, есть возможность создавать тестовые наборы на основе библиотеки тестов из подсистемы 510, либо по сохраненным фильтрам в библиотеке. Тестовый набор представляет из себя папку с тестами, которые должны быть выполнены, после создания тестового набора к нему применяется конфигурация, на которой будет проводиться тестирование. Параметры конфигурации получают из подсистемы конфигураций, присутствующей в каждом проекте. Тест-план 620 представляет из себя наборы тестов к прохождению, привязанных к определенным конфигурациям, и дает возможность запускать выполнение как ручного так и автоматизированного тестирования внутри тест-плана 620. При запуске выполнения автоматизированных тестов формируется тест-ран. Тест-ран - это прогон какого-то теста в соответствии с заранее определенным тест планом. Результаты ручных тестов указываются пользователями вручную, с возможностью комментирования шагов, прикладывания файлов и ссылок на любые внешние источники в том числе ссылки на дефекты, требования, репозитории кода и любые другие связанные ресурсы. Результаты автоматизированных тестов при выполнении в тест-плане могут быть получены от внешнего инструмента автоматизированного тестирования или инструмента непрерывной интеграции 140 и поставки посредством API, плагинов или библиотек для интеграции.[0067] The test plan subsystem 610 shown in FIG. 6 is designed for planning testing, determining the scope of planned testing, distributing tasks for testing between performers, in accordance with the level of workload. This section also reflects the results of test execution and reports on individual test iterations within test plans 620. Test plans 620 include test suites consisting of test cases and checklists obtained from the test library subsystem 510. In addition, , it is possible to create test suites based on the library of tests from the subsystem 510, or on the saved filters in the library. A test suite is a folder with tests that must be performed, after creating a test suite, the configuration is applied to it, on which testing will be carried out. Configuration parameters are obtained from the configuration subsystem present in each project. Test plan 620 is a set of tests to pass, tied to certain configurations, and makes it possible to run both manual and automated testing within the test plan 620. When you start the execution of automated tests, a test run is formed. A test run is a run of some kind of test in accordance with a predetermined test plan. The results of manual tests are specified by users manually, with the ability to comment on steps, attach files and links to any external sources, including links to defects, requirements, code repositories and any other related resources. The results of automated tests when executed in a test plan can be obtained from an external automated testing tool or a continuous integration tool 140 and delivered via APIs, plug-ins or integration libraries.

[0068] Планирование тестирования - это этап тестирования, во время которого определяются цель проведения тестирования, обозначаются сроки проведения тестирования, формируются наборы проверок, которые должны быть выполнены в ходе тестирования исходя из потребностей в тестировании, а также обозначены исполнители тестов. Данная система управления тестированием позволяет автоматизировать процесс планирования тестирования с помощью формирования тест-плана 620, автоматического формирования наборов тестов к прохождению на основе библиотеки тестов из подсистемы библиотеки тестов 510 или вручную на усмотрение пользователя. Для распределения задач между исполнителями используется как ручной способ, так и автоматический способ. При автоматическом распределении задач между исполнителями на каждого исполнителя назначается набор задач на выполнение тестирования с равными оценками времени прохождения тестирования. Время прохождения тестирования задается у каждого кейса автоматически на основе предыдущих прохождений, или вручную исполнителем теста или его руководителем.[0068] Test planning is the stage of testing during which the purpose of the test is determined, the timing of the test is indicated, sets of checks are formed that must be performed during testing based on the needs of the test, and test performers are also designated. This test management system allows you to automate the test planning process by generating a test plan 620, automatically generating test sets for passing based on a test library from the test library subsystem 510, or manually at the discretion of the user. To distribute tasks between performers, both manual and automatic methods are used. With automatic distribution of tasks between executors, each executor is assigned a set of tasks to perform testing with equal estimates of the time for passing the test. The time for passing the test is set for each case automatically based on previous passes, or manually by the test executor or his supervisor.

[0069] Например, тест в упрощенном виде будет выглядеть, как показано в Таблице 1 ниже.[0069] For example, a simplified test would look as shown in Table 1 below.

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

[0070] Подсистема конфигурации 710, как показано на Фиг. 7, предназначена для хранения конфигураций, на которых проводится тестирование в проекте, управления их настройками. Конфигурации используются для того, чтобы хранить и передавать данные об окружениях, на которых проводится тестирование. Окружение - это набор опций, воспроизводящих условия, необходимые для работы тестируемого программного обеспечения, например, операционные системы, браузеры, устройства и т.д. В конфигурациях в виде «ключ»-«значение» задаются эти опции. Конфигурацию можно использовать при автоматизированном тестировании для подготовки нужного окружения, получив параметры конфигурации. Модуль конфигураций используется в тест-планах 620 в связке с тестами для создания задач на тестирование, а именно представления какой тест на какой конфигурации должен выполняться. Конфигурация применяется к тестовым наборам тест-плана 620. Помимо этого, конфигурации, хранимые в проекте 310.1, используются для формирования прогонов автоматизированных тестов (так называемых тест-ранов). Эти связи обеспечивают возможность построения отчетности в подсистеме дашбордов (будет раскрыта ниже) с группировкой по конфигурации, т.е. просмотра данных о результатах ручных и автоматизированных тестов, тест-планах и тест-ранах в разрезе конфигураций.[0070] The configuration subsystem 710, as shown in FIG. 7 is designed to store configurations on which testing is carried out in the project, to manage their settings. Configurations are used to store and communicate data about the environments that are being tested. The environment is a set of options that reproduce the conditions necessary for the software under test to work, such as operating systems, browsers, devices, etc. In configurations in the form of "key" - "value" these options are set. The configuration can be used in automated testing to prepare the desired environment by obtaining configuration parameters. The configurations module is used in test plans 620 in conjunction with tests to create test tasks, namely representing which test should be run on which configuration. The configuration is applied to the test cases of the test plan 620. In addition, the configurations stored in the project 310.1 are used to generate automated test runs (so-called test runs). These links provide the ability to build reporting in the dashboard subsystem (to be discussed below) grouped by configuration, i.e. viewing data on the results of manual and automated tests, test plans and test runs in the context of configurations.

[0071] Подсистема автотестов 810, показанная на Фиг. 8, предназначена для хранения информации об автоматизированных тестах, зарегистрированных в системе управления тестированием, а также просмотра и анализа данных о прохождениях автоматизированных тестов. В системе управления тестированием хранится информация, отражающая метаинформацию об автотесте, его название, связанные тест-кейсы, также конкретные шаги, ссылки, вложения и т.д. Для регистрации автотеста в системе управления тестированием используется API 820 (программный интерфейс приложения, интерфейс прикладного программирования) (англ. application programming interface, API). После того как автотест зарегистрирован в системе, появляется возможность сохранять и анализировать данные о его прохождениях, оценивать его влияние на результаты связанных тестов. Автоматизированный тест представляет из себя программный код, эмулирующий действия пользователей или сторонней системы в тестируемом продукте. Результаты выполнения автоматизированного теста также фиксируются в системе управления тестированием с помощью API 820. При регистрации результата проведения автоматического тестирования можно указать исход, а также дополнить это метаинформацией - временем прохождения, дополнительными данными в виде приложенных файлов (скриншоты, логи), результатами прохождения каждого шага. В случае неуспешного прохождения тестов можно прикладывать к результату прохождения автоматизированного теста сообщения об обнаруженных ошибках и детальные отчеты о них, которые формируются при прохождении автотеста. Интеграция с автоматизированными тестами с помощью API позволяет использовать любые средства автоматизации тестирования. После получения результатов автоматизированного теста, при разборе полученных данных, можно указывать класс и категорию проблемы. Данная возможность используется для автоматизированного анализа категорий проблем. Модуль автотестов позволяет регистрировать автоматизированные тесты в системе, автотесты связываются с ручными тестами в библиотеке, а также с параметрами тестов, хранимых в проекте 310.1, что обеспечивает возможность выполнения ручного и автоматизированного тестирования совместно в рамках тест-планов 620, а также возможность регистрации результатов выполнения автоматизированных тестов отдельно от ручных в рамках тест-планов 620. Информация об автотестах и результатах их выполнения получается от инструмента непрерывной интеграции 140 и поставки, либо от инструмента автоматизированного тестирования, посредством API 820, плагинов и клиентских библиотек. Автотесты и их результаты можно выводить в виджетах дашбордов, в соответствии с настройками виджетов.[0071] Autotest subsystem 810 shown in FIG. 8 is intended for storing information about automated tests registered in the test management system, as well as viewing and analyzing data on passing automated tests. The test management system stores information that reflects meta-information about the autotest, its name, related test cases, specific steps, links, attachments, etc. To register an autotest in the test management system, API 820 (application programming interface, API) is used. After an autotest is registered in the system, it becomes possible to save and analyze data on its passage, evaluate its impact on the results of related tests. An automated test is a program code that emulates the actions of users or a third-party system in the product being tested. The results of an automated test are also recorded in the test management system using API 820. When registering the result of an automated test, you can specify the outcome, as well as supplement it with meta-information - the time of passing, additional data in the form of attached files (screenshots, logs), the results of passing each step . In case of unsuccessful passing of tests, you can attach to the result of passing an automated test messages about detected errors and detailed reports about them, which are generated during the passage of an automated test. Integration with automated tests using the API allows you to use any test automation tools. After receiving the results of an automated test, when parsing the received data, you can specify the class and category of the problem. This feature is used for automated analysis of problem categories. The autotest module allows you to register automated tests in the system, autotests are associated with manual tests in the library, as well as with test parameters stored in the 310.1 project, which provides the ability to perform manual and automated testing together within 620 test plans, as well as the ability to register execution results automated tests separate from manual tests within test plans 620. Information about autotests and the results of their execution is obtained from the continuous integration tool 140 and delivery, or from the automated testing tool, through API 820, plug-ins and client libraries. Autotests and their results can be displayed in dashboard widgets, in accordance with the widget settings.

[0072] Модуль тест-ранов предназначен для сбора информации о выполнении автоматизированных тестов во внешней среде с помощью инструмента автоматизированного тестирования. Данные о прохождениях принимаются от инструментов автоматизированного тестирования и инструментов непрерывной интеграции 140 и поставки.[0072] The test run module is designed to collect information about the execution of automated tests in the external environment using an automated testing tool. Run data is received from automated testing tools and continuous integration tools 140 and delivery.

[0073] Подсистема запросов (не показана на фигурах), в которой осуществляется фильтрация и поиск тестовой документации по проектам, с возможностью управления сохраненными фильтрами. В разделе запросов выводятся все тест-кейсы и чек-листы, к которым у пользователя есть доступ. Поиск выполняется на сервере 100, с использованием различных фильтров. Доступна фильтрация по всем параметрам и дополнительным данным, таким как пользовательские атрибуты, приоритеты, статусы. Поиск осуществляется по всем тест-кейсам и чек-листам, на которые у пользователя есть доступ по меньшей мере на чтение. Можно составить набор фильтров и сохранить запрос. Запрос представляет из себя сохраненные фильтры. При открытии запроса выводится список всех тест-кейсов и чек-листов, которые подходят под сохраненные фильтры. Результат меняется, если в каких-то из выводимых кейсов сменятся актуальные значения параметров, содержащихся в запросе. Запросы можно делать приватными (доступными только пользователю) или публичными (доступными всем пользователям системы). Запрос можно открыть по ссылке, что позволяет передавать ссылку другим пользователям, либо размещать где-то на внешних ресурсах. В запросах выполняется поиск по данным, хранящимся в библиотеках тестов, всех доступных проектов, данные в подсистему запросов поступают из многих проектов, но с учетом разграничений прав доступа.[0073] A query subsystem (not shown in the figures) that filters and searches test documentation for projects, with the ability to manage saved filters. The requests section displays all test cases and checklists to which the user has access. The search is performed on the server 100 using various filters. Filtering is available by all parameters and additional data, such as user attributes, priorities, statuses. The search is performed on all test cases and checklists to which the user has at least read access. You can create a set of filters and save the query. The request is a saved filters. When you open a query, a list of all test cases and checklists that match the saved filters is displayed. The result changes if the actual values of the parameters contained in the request change in some of the output cases. Requests can be made private (available only to the user) or public (available to all users of the system). The request can be opened by link, which allows you to transfer the link to other users, or place it somewhere on external resources. In queries, a search is performed on the data stored in the test libraries for all available projects, the data in the query subsystem comes from many projects, but taking into account access rights.

[0074] Подсистема дашбордов (не показана на фигурах), в которой осуществляется формирование отчетности по проектам. Дашборд - инструмент визуализации и анализа данных. Если говорить проще, то инфографика - одна из составляющих частей дашборда. Каждый дашборд представляет из себя набор настраиваемых виджетов. Виджет - примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия. При создании виджета можно выбрать тип представления информации, источник данных для формирования отчета, а также дополнительно сгруппировать полученные значения по отдельным параметрам в зависимости от источника данных. Гибкая система создания виджетов позволяет выводить большинство необходимой информации, хранящейся в системе, в удобном представлении. Доступные представления - это график трендов, круговые диаграммы, линейчатые диаграммы, табличное представление. Доступные источники данных - это тесты, результаты выполнения тестов, тест-планы, прогоны автоматизированных тестов. Таким образом подсистема дашбордов связана со всеми остальными функциональными областями системы т.к. отчетность в виджетах может иметь в качестве источников данных любые данные, хранимые в рамках проектов, библиотек тестов, конфигураций, параметров тестов, автотесты, требования и дефекты. Возможности построения отчетности по требованиям включают в себя трассировку требований, матрицу покрытия требований тестами, а также косвенную связь между требованиями и дефектами, обнаруженными в результате выполнения привязанных к ним тестов.[0074] A dashboard subsystem (not shown in the figures) that generates project reporting. Dashboard is a data visualization and analysis tool. Simply put, infographics are one of the components of a dashboard. Each dashboard is a set of customizable widgets. A widget is a primitive graphical user interface that has a standard appearance and performs standard actions. When creating a widget, you can choose the type of information presentation, the data source for generating the report, and additionally group the received values by individual parameters depending on the data source. A flexible system for creating widgets allows you to display most of the necessary information stored in the system in a convenient presentation. Available views are trend chart, pie charts, bar charts, table view. Available data sources are tests, test results, test plans, automated test runs. Thus, the dashboard subsystem is connected with all other functional areas of the system. reporting in widgets can have any data stored within projects, test libraries, configurations, test parameters, autotests, requirements, and defects as data sources. Requirements reporting capabilities include requirements tracing, a requirements test coverage matrix, and an indirect relationship between requirements and defects found as a result of the execution of tests associated with them.

[0075] Система управления тестированием программного обеспечения взаимодействуете системой отслеживания ошибок 160, например, Jira, посредством плагина, устанавливаемого в Jira версии 7.2.13 и выше.[0075] The software test management system interacts with a bug tracking system 160, such as Jira, through a plugin installed in Jira version 7.2.13 and higher.

[0076] Система может взаимодействовать со службами каталогов AD/LDAP 150 для получения данных о пользователях и группах и авторизации их в системе для предоставления ресурсов.[0076] The system may interact with AD/LDAP directory services 150 to obtain user and group data and authorize them in the system to provide resources.

[0077] Также, система поддерживает механизм уведомления о событиях, обращающийся к API сторонних систем (системы непрерывной интеграции, мессенджеры и т.д.).[0077] Also, the system supports an event notification mechanism that accesses the API of third-party systems (continuous integration systems, instant messengers, etc.).

[0078] Модуль параметров тестов обеспечивает хранение тестовых данных, которые могут быть использованы для параметризации тестов, как ручных, так и автоматизированных и управления ими. Этот модуль представляет из себя хранимый список переменных со значениями. Эти переменные могут вызываться из шагов теста чтобы выбирать какие параметры должны быть использованы в рамках теста. Параметры тестов также связаны с прохождением теста в тест-плане или автотеста в тест-ране. Результат выполнения теста хранит информацию с какими параметрами этот тест запускался и был пройден. Также этот модуль подразумевает возможность автоматической генерации тестовых данных.[0078] The test parameters module provides storage of test data that can be used to parameterize and manage tests, both manual and automated. This module is a stored list of variables with values. These variables can be called from test steps to select which parameters should be used within the test. Test parameters are also related to passing a test in a test plan or an autotest in a test run. The result of the test execution stores information with what parameters this test was launched and passed. Also, this module implies the possibility of automatic generation of test data.

[0079] Модуль требований обеспечивает возможности управления требованиями, их заведения, хранения и модификации, указания их связей с тестами для дальнейшего построения отчетности в модуле дашбордов.[0079] The requirements module provides the ability to manage requirements, their establishment, storage and modification, specifying their links with tests for further reporting in the dashboard module.

[0080] Модуль дефектов обеспечивает возможности управления дефектами и задачами, хранение дефектов и задач, смену их статусов, указание связей с требованиями и тестами, для дальнейшего построения отчетности по дефектам и задачам в модуле дашбордов. Данные модуля дефекта могут быть интегрированы с внешними инструментами отслеживания задач/дефектов, интеграция подразумевает двустороннюю связь дефектов внутри системы управления тестированием и во внешнем инструменте, наследование статусной модели и рабочих процессов сущностей дефектов и задач, возможность получения дополнительной информации о дефектах/задачах из внешнего инструмента.[0080] The defect module provides the ability to manage defects and tasks, store defects and tasks, change their statuses, indicate links with requirements and tests, for further reporting on defects and tasks in the dashboard module. Defect module data can be integrated with external task/defect tracking tools, integration implies two-way communication of defects within the test management system and in an external tool, inheritance of the status model and workflows of defect and task entities, the ability to obtain additional information about defects/tasks from an external tool .

[0081] Ссылаясь на Фиг. 4, данное техническое решение может быть реализовано в виде вычислительной системы 400 управления тестированием программного обеспечения, которая содержит один или более из следующих компонентов:[0081] Referring to FIG. 4, this solution may be implemented as a software test management computer system 400 that includes one or more of the following components:

• компонент 401 обработки, содержащий по меньшей мере один процессор 402,• a processing component 401 comprising at least one processor 402,

• память 403,memory 403,

• компонент 405 мультимедиа,multimedia component 405,

• компонент 406 аудио,audio component 406,

• интерфейс 407 ввода / вывода (I / О),interface 407 input / output (I / O),

• сенсорный компонент 408,sensor component 408,

• компонент 409 передачи данных.component 409 data.

[0082] Компонент 401 обработки в основном управляет всеми операциями системы 400, например, осуществляет обработку данных о пользователе или его запросе на осуществление тестирования, а также управляет дисплеем, телефонным звонком, передачей данных, работой камеры и операцией записи мобильного устройства связи. Компонент 401 обработки может включать в себя один или более процессоров 402, реализующих инструкции для завершения всех или части шагов из указанных выше способов. Кроме того, компонент 401 обработки может включать в себя один или более модулей для удобного процесса взаимодействия между другими модулями 401 обработки и другими модулями. Например, компонент 401 обработки может включать в себя мультимедийный модуль для удобного облегченного взаимодействия между компонентом 405 мультимедиа и компонентом 401 обработки.[0082] The processing component 401 mainly manages all operations of the system 400, such as processing user data or testing request, and managing the display, phone call, data transmission, camera operation, and recording operation of the mobile communication device. Processing component 401 may include one or more processors 402 executing instructions for completing all or part of the steps from the above methods. In addition, the processing component 401 may include one or more modules for convenient interaction between other processing modules 401 and other modules. For example, the processing component 401 may include a multimedia module for convenient, lightweight interaction between the multimedia component 405 and the processing component 401.

[0083] Память 403 выполнена с возможностью хранения различных типов данных для поддержки работы системы 400, например, базу данных с профилями пользователей. Примеры таких данных включают в себя инструкции из любого приложения или способа, контактные данные, данные адресной книги, сообщения, изображения, видео, и т.д., и все они работают на системе 400. Память 403 может быть реализована в виде любого типа энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их комбинации, например, статического оперативного запоминающего устройства (СОЗУ), Электрически-Стираемого Программируемого постоянного запоминающего устройства (ЭСППЗУ), Стираемого Программируемого постоянного запоминающего устройства (СППЗУ), Программируемого постоянного запоминающего устройства (ППЗУ), постоянного запоминающего устройства (ПЗУ), магнитной памяти, флэш-памяти, магнитного диска или оптического диска и другого, не ограничиваясь.[0083] The memory 403 is configured to store various types of data to support the operation of the system 400, such as a user profile database. Examples of such data include instructions from any application or method, contact data, address book data, messages, images, videos, etc., all of which run on system 400. Memory 403 may be implemented as any type of volatile memory, non-volatile memory, or combinations thereof, e.g., static random access memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory device (ROM), magnetic memory, flash memory, magnetic disk or optical disk, and others, without being limited.

[0084] Компонент 405 мультимедиа включает в себя экран, обеспечивающий выходной интерфейс между системой 400, которая может быть установлена на мобильном устройстве связи пользователя и пользователем. В некоторых вариантах реализации, экран может быть жидкокристаллическим дисплеем (ЖКД) или сенсорной панелью (СП). Если экран включает в себя сенсорную панель, экран может быть реализован в виде сенсорного экрана для приема входного сигнала от пользователя. Сенсорная панель включает один или более сенсорных датчиков в смысле жестов, прикосновения и скольжения по сенсорной панели. Сенсорный датчик может не только чувствовать границу прикосновения субъекта или жест перелистывания, но и определять длительность времени и давления, связанных с режимом работы на прикосновение и скольжение. В некоторых вариантах осуществления компонент 405 мультимедиа включает одну фронтальную камеру и/или одну заднюю камеру. Когда система 400 находится в режиме работы, например, режиме съемки или режиме видео, фронтальная камера и/или задняя камера могут получать данные мультимедиа извне. Каждая фронтальная камера и задняя камера, может быть, одной фиксированной оптической системой объектива или может иметь фокусное расстояние или оптический зум.[0084] The media component 405 includes a screen that provides an output interface between the system 400, which may be installed on the user's mobile communications device, and the user. In some implementations, the screen may be a liquid crystal display (LCD) or a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input from a user. The touchpad includes one or more touch sensors in terms of gestures, touching and sliding on the touchpad. The touch sensor can not only sense the subject's touch boundary or swipe gesture, but also determine the length of time and pressure associated with the touch and slide operation mode. In some embodiments, media component 405 includes one front camera and/or one rear camera. When the system 400 is in an operating mode, such as shooting mode or video mode, the front camera and/or rear camera can receive media data from outside. Each front camera and rear camera may have one fixed lens optics or may have focal length or optical zoom.

[0085] Компонент 406 аудио выполнен с возможностью выходного и/или входного аудио сигнала. Например, компонент 406 аудио включает один микрофон (MIC), который выполнен с возможностью получать внешний аудио сигнал, когда система 400 находится в режиме работы, например, режиме вызова, режима записи и режима распознавания речи. Полученный аудио сигнал может быть далее сохранен в памяти 403 или направлен по компоненту 409 передачи данных. В некоторых вариантах осуществления компонент 406 аудио также включает в себя один динамик, выполненный с возможностью вывода аудио сигнала.[0085] The audio component 406 is configured to output and/or input an audio signal. For example, the audio component 406 includes one microphone (MIC) that is configured to receive an external audio signal when the system 400 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode. The received audio signal may be further stored in the memory 403 or routed through the communication component 409 . In some embodiments, the audio component 406 also includes a single speaker configured to output an audio signal.

[0086] Интерфейс 407 ввода / вывода (I / О) обеспечивает интерфейс между компонентом 401 обработки и любым периферийным интерфейсным модулем. Вышеуказанным периферийным интерфейсным модулем может быть клавиатура, руль, кнопка, и т.д. Эти кнопки могут включать, но не ограничиваясь, кнопку запуска, кнопку регулировки громкости, начальную кнопку и кнопку блокировки.[0086] An input/output (I/O) interface 407 provides an interface between the processing component 401 and any peripheral interface module. The above peripheral interface module may be a keyboard, steering wheel, button, etc. These buttons may include, but are not limited to, a start button, a volume button, a home button, and a lock button.

[0087] Сенсорный компонент 408 содержит один или более сенсоров и выполнен с возможностью обеспечения различных аспектов оценки состояния системы 400. Например, сенсорный компонент 408 может обнаружить состояния вкл/выкл системы 400, относительное расположение компонентов, например, дисплея и кнопочной панели, одного компонента системы 400, наличие или отсутствие контакта между субъектом и системой 400, а также ориентацию или ускорение/замедление и изменение температуры системы 400. Сенсорный компонент 408 содержит бесконтактный датчик, выполненный с возможностью обнаружения присутствия объекта, находящегося поблизости, когда нет физического контакта. Сенсорный компонент 408 содержит оптический датчик (например, КМОП или ПЗС-датчик изображения) выполненный с возможностью использования в визуализации приложения. В некоторых вариантах сенсорный компонент 408 содержит датчик ускорения, датчик гироскопа, магнитный датчик, датчик давления или датчик температуры.[0087] The touch component 408 includes one or more sensors and is configured to provide various aspects of estimating the state of the system 400. For example, the touch component 408 can detect the on/off states of the system 400, the relative position of components, such as a display and a keypad, of a single component system 400, the presence or absence of contact between a subject and system 400, as well as the orientation or acceleration/deceleration and temperature change of system 400. Sensor component 408 includes a proximity sensor configured to detect the presence of a nearby object when there is no physical contact. The sensor component 408 includes an optical sensor (eg, CMOS or CCD image sensor) configured for use in rendering an application. In some embodiments, the sensor component 408 includes an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0088] Компонент 409 передачи данных выполнен с возможностью облегчения проводной или беспроводной связи между системой 400 и другими устройствами. Система 400 может получить доступ к беспроводной сети на основе стандарта связи, таких как WiFi, 2G, 3G, 5G, или их комбинации. В одном примерном варианте компонент 409 передачи данных получает широковещательный сигнал или трансляцию, связанную с ними информацию из внешней широковещательной системы управления через широковещательный канал. В одном варианте осуществления компонент 409 передачи данных содержит модуль коммуникации ближнего поля (NFC), чтобы облегчить ближнюю связь. Например, модуль NFC может быть основан на технологии радиочастотной идентификации (RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (IrDA), сверхширокополосных (UWB) технологии, Bluetooth (ВТ) технологии и других технологиях.[0088] The communication component 409 is configured to facilitate wired or wireless communication between the system 400 and other devices. System 400 may access a wireless network based on a communication standard such as WiFi, 2G, 3G, 5G, or combinations thereof. In one exemplary embodiment, the communication component 409 receives a broadcast signal or broadcast related information from an external broadcast control system via a broadcast channel. In one embodiment, communication component 409 includes a Near Field Communication (NFC) module to facilitate near field communication. For example, the NFC module may be based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0089] В примерном варианте осуществления система 400 может быть реализована посредством одной или более Специализированных Интегральных Схем (СИС), Цифрового Сигнального Процессора (ЦСП), Устройств Цифровой Обработки Сигнала (УЦОС), Программируемым Логическим Устройством (ПЛУ), логической микросхемой, программируемой в условиях эксплуатации (ППВМ), контроллера, микроконтроллера, микропроцессора или других электронных компонентов, и может быть сконфигурирован для реализации способа управления тестированием программного обеспечения.[0089] In an exemplary embodiment, system 400 may be implemented by one or more Application-Specific Integrated Circuits (ASICs), a Digital Signal Processor (DSP), a Digital Signal Processor (DSP), a Programmable Logic Unit (PLU), a logic chip programmable in operating conditions (FPGA), controller, microcontroller, microprocessor or other electronic components, and can be configured to implement a software test management method.

[0090] В примерном варианте осуществления энергонезависимый машиночитаемый носитель содержит память 403, которая включает инструкции, где инструкции выполняются процессором 401 системы 400 для реализации описанных выше способов осуществления умного поиска авиабилетов. Например, энергонезависимым машиночитаемым носителем может быть ПЗУ, оперативное запоминающее устройство (ОЗУ), компакт-диск, магнитная лента, дискеты, оптические устройства хранения данных и тому подобное.[0090] In an exemplary embodiment, the non-volatile computer-readable medium includes a memory 403 that includes instructions, where the instructions are executed by the processor 401 of the system 400 to implement the smart flight search methods described above. For example, a non-volatile computer-readable medium can be ROM, random access memory (RAM), compact disk, magnetic tape, floppy disks, optical storage devices, and the like.

[0091] Вычислительная система 400 может включать в себя интерфейс дисплея, который передает графику, текст и другие данные из коммуникационной инфраструктуры (или из буфера кадра, не показан) для отображения на компоненте 405 мультимедиа. Вычислительная система 400 дополнительно включает в себя устройства ввода или периферийные устройства. Периферийные устройства могут включать в себя одно или несколько устройств для взаимодействия с мобильным устройством связи пользователя, такие как клавиатура, микрофон, носимое устройство, камера, один или более звуковых динамиков и другие датчики. Периферийные устройства могут быть внешними или внутренними по отношению к мобильному устройству связи пользователя. Сенсорный экран может отображать, как правило, графику и текст, а также предоставляет пользовательский интерфейс (например, но не ограничиваясь ими, графический пользовательский интерфейс (GUI)), через который субъект может взаимодействовать с мобильным устройством связи пользователя, например, получать доступ и взаимодействовать с приложениями, запущенными на устройстве.[0091] Computing system 400 may include a display interface that transmits graphics, text, and other data from a communications infrastructure (or framebuffer, not shown) for display on media component 405. Computing system 400 further includes input devices or peripherals. Peripheral devices may include one or more devices for interacting with a user's mobile communications device, such as a keyboard, microphone, wearable device, camera, one or more audio speakers, and other sensors. Peripherals may be external or internal to the user's mobile communications device. The touch screen may display, typically, graphics and text, and also provides a user interface (such as, but not limited to, a graphical user interface (GUI)) through which a subject may interact with the user's mobile communications device, such as accessing and interacting with with applications running on the device.

[0092] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны.[0092] The elements of the proposed technical solution are in a functional relationship, and their joint use leads to the creation of a new and unique technical solution. Thus, all blocks are functionally connected.

[0093] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.[0093] All blocks used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming, can be used. Programmers and debugging environments are used for programming, allowing you to set the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc. An alternative to FPGAs can be programmable logic controllers (PLCs), basic matrix crystals ( BMK), requiring a factory production process for programming; ASIC - specialized custom-made large integrated circuits (LSI), which are significantly more expensive for small-scale and single-piece production.

[0094] Обычно, сама микросхема ПЛИС состоит из следующих компонент:[0094] Typically, the FPGA chip itself consists of the following components:

• конфигурируемых логических блоков, реализующих требуемую логическую функцию;• configurable logical blocks that implement the required logical function;

• программируемых электронных связей между конфигурируемыми логическими блоками;• programmable electronic links between configurable logic blocks;

• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.• programmable input/output blocks that provide communication between the external output of the microcircuit and the internal logic.

[0095] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств.[0095] Blocks can also be implemented using read-only memories.

[0096] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.[0096] Thus, the implementation of all used blocks is achieved by standard means based on the classical principles of implementing the fundamentals of computer technology.

[0097] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.[0097] As one of skill in the art will appreciate, aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution may be implemented solely as hardware, as software (including application software, etc.), or as an embodiment combining software and hardware aspects, which may be generally referred to as a "module" , "system" or "architecture". In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having computer-readable program code embodied thereon.

[0098] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.[0098] Any combination of one or more computer-readable media can also be used. The computer-readable storage medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of a computer-readable storage medium include: an electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or Flash memory), fiber optic connection, compact disc read only memory (CD-ROM), optical storage device, magnetic storage device or any combination of the above. As used herein, a computer-readable storage medium can be any flexible storage medium that can contain or store a program for use by or in connection with a system, device, apparatus.

[0099] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.[0099] The program code embedded in a computer-readable medium may be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network, or a combination of the foregoing.

[00100] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Python, R, Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).[00100] The computer program code for performing the operations for the steps of the present technical solution may be written in any programming language or combinations of programming languages, including an object-oriented programming language such as Python, R, Java, Smalltalk, C++, and so on, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may be executed in whole, in part, on the user's computer, or as a separate software package, in part on the user's computer and in part on a remote computer, or entirely on a remote computer. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN), a wide area network (WAN), or a connection to an external computer (eg, via the Internet via ISPs).

[00101] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.[00101] Aspects of the present technical solution have been described in detail with reference to block diagrams, circuit diagrams and/or diagrams of methods, devices (systems), and computer program products in accordance with embodiments of the present technical solution. It should be appreciated that each block from the block diagram and/or diagrams, as well as combinations of blocks from the block diagram and/or diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, a special purpose computer, or other data processing device to create a procedure, such that the instructions executed by the computer processor or other programmable data processing device create the means to implement the functions/actions specified in block or blocks of a flowchart and/or diagram.

[00102] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.[00102] These computer program instructions may also be stored on a computer-readable medium that can control a computer other than a programmable data processing device or other than devices that operate in a particular manner such that the instructions stored on the computer-readable medium create a device including instructions that perform the functions/actions indicated in the block diagram and/or diagram.

Claims (25)

1. Система управления тестированием программного обеспечения, имеющая архитектуру «клиент-сервер», которая запускается посредством docker-контейнеризации и содержит,1. A software test management system that has a client-server architecture that runs through docker containerization and contains, • по меньшей мере один сервер, выполненный с возможностью осуществления взаимодействия между подсистемами посредством запросов распределённого приложения в сети REST API;• at least one server configured to communicate between subsystems via distributed application requests in the REST API network; • подсистему проектов, выполненную с возможностью хранения тестовой документации и управления тестированием по каждому отдельному проекту и формирования отчетности в разрезе проектов;• subsystem of projects, made with the ability to store test documentation and manage testing for each individual project and generate reports in the context of projects; • подсистему библиотеки тестов, представляющую собой хранилище для тестовой документации и выполненную с возможностью хранения тестовой документации и создания иерархической структуры проекта, разработки и согласования тестовой документации;• subsystem of the test library, which is a repository for test documentation and is designed to store test documentation and create a hierarchical structure of the project, develop and approve test documentation; • подсистему тест-планов, выполненную с возможностью планирования тестирования, определения объема запланированного тестирования, распределения задач на тестирование между исполнителями, в соответствии с уровнем нагрузки пользователя;• a subsystem of test plans, made with the possibility of planning testing, determining the scope of planned testing, distributing tasks for testing between executors, in accordance with the level of user workload; • подсистему конфигурации, выполненную с возможностью хранения конфигураций, на которых проводится тестирование в проекте, управления их настройками.• a configuration subsystem configured to store configurations used for testing in the project and manage their settings. • подсистему автоматизированных тестов, выполненную с возможностью хранения информации об автоматизированных тестах, зарегистрированных в системе, а также просмотра и анализа данных о прохождениях автоматизированных тестов, причем для регистрации автоматизированного теста в системе используется API;• a subsystem of automated tests, configured to store information about automated tests registered in the system, as well as view and analyze data on passing automated tests, and an API is used to register an automated test in the system; • подсистему запросов, выполненную с возможностью фильтрации и поиска тестовой документации на сервере по проектам и управления сохраненными фильтрами.• a subsystem of requests made with the possibility of filtering and searching for test documentation on the server for projects and managing saved filters. 2. Система по п. 1, характеризующаяся тем, что подсистема библиотеки тестов имеет структуру для хранения тест-кейсов, разделенных по функциональным областям тестируемого продукта.2. The system according to claim 1, characterized in that the test library subsystem has a structure for storing test cases divided by functional areas of the tested product. 3. Система по п. 1, характеризующаяся тем, что подсистема тест-планов содержит результаты выполнения тестирования.3. The system according to claim 1, characterized in that the test plan subsystem contains the results of testing. 4. Система по п. 1, характеризующаяся тем, что в подсистеме тест-планов формируется отчетность по отдельным итерациям тестирования в рамках тест-планов.4. The system according to claim 1, characterized in that the test plan subsystem generates reports on individual testing iterations within the test plans. 5. Система по п. 1, характеризующаяся тем, что подсистема автоматизированных тестов содержит информацию, отражающую метаинформацию об автоматизированном тесте и/или его название, и/или связанные тест-кейсы, и/или ссылки вложения.5. The system according to claim 1, characterized in that the subsystem of automated tests contains information reflecting meta-information about the automated test and/or its name, and/or related test cases, and/or attachment links. 6. Система по п. 1, характеризующаяся тем, что в подсистеме автоматизированных тестов автоматизированный тест представляет из себя программный код, эмулирующий действия пользователей или сторонней системы в тестируемом продукте.6. The system according to claim 1, characterized in that in the subsystem of automated tests, the automated test is a program code that emulates the actions of users or a third-party system in the product being tested. 7. Система по п. 1, характеризующаяся тем, что в подсистеме автоматизированных тестов регистрируют автоматизированный тест.7. The system according to claim 1, characterized in that an automated test is registered in the subsystem of automated tests. 8. Система по п. 1, характеризующаяся тем, что в подсистеме автоматизированных тестов результаты выполнения автоматизированного теста фиксируются с помощью API.8. The system according to claim 1, characterized in that in the subsystem of automated tests, the results of the automated test are recorded using the API. 9. Система по п. 8, характеризующаяся тем, что при регистрации результата указывают исход и дополняют временем прохождения и/или приложенными файлами, и/или результатами прохождения каждого шага.9. The system according to claim 8, characterized in that when registering the result, the outcome is indicated and supplemented with the passage time and / or attached files, and / or the results of each step. 10. Система по п. 1, характеризующаяся тем, что в подсистеме автоматизированных тестов в случае неуспешного прохождения тестов прикладывают к результату прохождения автоматизированного теста сообщения об обнаруженных ошибках и детальные отчеты о них, которые формируются при прохождении автоматизированного теста.10. The system according to claim 1, characterized in that in the subsystem of automated tests, in case of unsuccessful passing of tests, messages about detected errors and detailed reports about them, which are generated when passing the automated test, are applied to the result of passing the automated test. 11. Система по п. 1, характеризующаяся тем, что в подсистеме автоматизированных тестов после получения результатов автоматизированного теста, при разборе полученных данных, указывают класс и категорию проблемы.11. The system according to claim 1, characterized in that in the subsystem of automated tests, after receiving the results of the automated test, when parsing the received data, the class and category of the problem are indicated. 12. Система по п. 1, характеризующаяся тем, что в подсистеме запросов выводятся все тест-кейсы и чек-листы, к которым у пользователя есть доступ.12. The system according to claim 1, characterized in that the query subsystem displays all test cases and checklists to which the user has access. 13. Система по п. 1, характеризующаяся тем, что в подсистеме запросов поиск выполняется на сервере с использованием фильтров по пользовательским атрибутам и/или приоритетам, и/или статусам.13. The system according to claim 1, characterized in that in the query subsystem, the search is performed on the server using filters by user attributes and/or priorities and/or statuses. 14. Система по п. 1, характеризующаяся тем, что в подсистеме запросов поиск выполняется по всем тест-кейсам и чек-листам, на которые у пользователя есть доступ на чтение.14. The system according to claim 1, characterized in that in the query subsystem, the search is performed on all test cases and checklists for which the user has read access. 15. Система по п. 1, характеризующаяся тем, что в подсистеме запросов запрос представляет из себя сохраненные фильтры.15. The system according to claim 1, characterized in that in the query subsystem the query is stored filters. 16. Система по п. 1, характеризующаяся тем, что в подсистеме запросов при открытии запроса выводится список всех тест-кейсов и чек-листов, которые подходят под сохраненные фильтры.16. The system according to claim 1, characterized in that in the query subsystem, when a query is opened, a list of all test cases and checklists that match the saved filters is displayed. 17. Система по п. 1, характеризующаяся тем, что в подсистеме запросов запрос является приватным или публичным.17. The system according to claim 1, characterized in that in the request subsystem the request is private or public. 18. Система по п. 1, характеризующаяся тем, что запрос открывают по ссылке или размещают на внешнем ресурсе.18. The system according to claim 1, characterized in that the request is opened via a link or placed on an external resource.
RU2021113580A 2021-05-13 2021-05-13 System for controlling software testing RU2774659C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2021/000474 WO2022240310A1 (en) 2021-05-13 2021-10-29 Software test management system

Publications (1)

Publication Number Publication Date
RU2774659C1 true RU2774659C1 (en) 2022-06-21

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2802712C1 (en) * 2023-01-11 2023-08-31 Акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Method for diagnostics of complex of testing built-in software of electronic devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2530671C1 (en) * 2013-07-24 2014-10-10 Общество С Ограниченной Ответственностью "Балакам" Checking method of web pages for content in them of target audio and/or video (av) content of real time
US9389849B2 (en) * 2009-02-03 2016-07-12 Globalfoundries Inc. Test case pattern matching
CN106897217A (en) * 2017-02-13 2017-06-27 北京趣拿软件科技有限公司 Method of testing and test device
US20200111334A1 (en) * 2014-09-02 2020-04-09 Apple Inc. Semantic Framework for Variable Haptic Output
RU2744438C1 (en) * 2020-08-03 2021-03-09 Акционерное Общество «Эшелон - Северо-Запад» System and method for forming optimal set of tests for identifying software bugs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389849B2 (en) * 2009-02-03 2016-07-12 Globalfoundries Inc. Test case pattern matching
RU2530671C1 (en) * 2013-07-24 2014-10-10 Общество С Ограниченной Ответственностью "Балакам" Checking method of web pages for content in them of target audio and/or video (av) content of real time
US20200111334A1 (en) * 2014-09-02 2020-04-09 Apple Inc. Semantic Framework for Variable Haptic Output
CN106897217A (en) * 2017-02-13 2017-06-27 北京趣拿软件科技有限公司 Method of testing and test device
RU2744438C1 (en) * 2020-08-03 2021-03-09 Акционерное Общество «Эшелон - Северо-Запад» System and method for forming optimal set of tests for identifying software bugs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2802712C1 (en) * 2023-01-11 2023-08-31 Акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Method for diagnostics of complex of testing built-in software of electronic devices

Similar Documents

Publication Publication Date Title
CN111279321B (en) Binding backend service endpoints to API functions in an API registry
US10503493B2 (en) Distributed versioning of applications using cloud-based systems
US10310969B2 (en) Systems and methods for test prediction in continuous integration environments
RU2550520C1 (en) Securing opportunities of configured technological process
US8707246B2 (en) Engineering project event-driven social networked collaboration
US20170115976A1 (en) Managing highly scalable continuous delivery pipelines
US9600342B2 (en) Managing parallel processes for application-level partitions
US10628237B2 (en) Cloud service integration flow
US10949196B2 (en) Composite instance patching
US20200125344A1 (en) Persistent context for reusable pipeline components
US20090164979A1 (en) System landscape trace
US20140123114A1 (en) Framework for integration and execution standardization (fiesta)
US11200282B1 (en) Integrated views of multiple different computer program applications with action options
US11836519B2 (en) Decoupled push-down execution generator
US10452757B2 (en) Persistent user personalization
Calegari et al. Web portals for high-performance computing: a survey
US11709759B2 (en) Contextual drill back to source code and other resources from log data
US20070028174A1 (en) Grid processing dynamic screensaver
WO2022240310A1 (en) Software test management system
RU2774659C1 (en) System for controlling software testing
US11550994B2 (en) System and method with data entry tracker using selective undo buttons
US9785543B2 (en) Dual tagging between test and pods
US20230333882A1 (en) Systems and methods for creating workflows by chaining microapps in a workspace platform
Ramsland et al. Develop a generic Rules Engine to quality control a CV database
Kumar et al. Customer-Vehicle Management System