6 research outputs found

    Distribution metric driven adaptive random testing

    Get PDF
    Adaptive Random Testing (ART) was developed to enhance the failure detection capability of Random Testing. The basic principle of ART is to enforce random test cases evenly spread inside the input domain. Various distribution metrics have been used to measure different aspects of the evenness of test case distribution. As expected, it has been observed that the failure detection capability of an ART algorithm is related to how evenly test cases are distributed. Motivated by such an observation, we propose a new family of ART algorithms, namely distribution metric driven ART, in which, distribution metrics are key drivers for evenly spreading test cases inside ART. Out study uncovers several interesting results and shows that the new algorithms can spread test cases more evenly, and also have better failure detection capabilities

    On automatic testing of web search engines

    Get PDF
    Web search engines are very important because they are the means by which people retrieve information from the World Wide Web. However, testing these web search engines is difficult because there are no test oracles, so this research proposes seven new metrics based on the idea of metamorphic relations to alleviate the oracle problem in search engine testing. Using these metrics, our method can test search engines automatically in the absence of an ideal oracle. Using this method, we further conduct large-scale empirical studies to investigate and compare the qualities of four major search engines, namely, Google (www.google.com), Baidu (www.baidu.com), Bing (www.bing.com), and Chinese Bing (www.bing.com.cn). Our empirical studies involve more than 50 million queries sent to the search engines across 9 months, and about 300 GB data collected from the search engine responses. It is found that different search engines have significantly different performance and that the nature of the query terms can have a significant impact on the performance of the search engines. These empirical study results demonstrate that our method can effectively alleviate the oracle problem in search engine testing, and can help both developers and users to obtain a better understanding of the search engine behaviour under different operational profiles

    Методи та програмні засоби метаморфічного тестування програмних систем автоматичної кластеризації природномовних текстових даних

    Get PDF
    Забезпечення якості програмних систем досі залишається актуальною задачею в галузі ІТ, адже помилки в програмному забезпеченні можуть призводити до фінансових та/чи репутаційних втрат, створювати проблеми з безпекою, а в найгіршому випадку – і призводити до людських жертв. На забезпечення якості програмних систем щорічно витрачаються мільярди доларів – за даними World Quality Report 2021, витрати на підтримку якості програмного забезпечення складають від 18 до 35 відсотків всього ІТ-бюджету середньостатистичної компанії – тому будь-яке збільшення ефективності в даній галузі призводитиме до значної економії. Існує багато методологій забезпечення якості програмних систем, таких як контроль якості програмних артефактів, стандартизація та сертифікація процесів розроблення, робота з вимогами, організація підтримки тощо. Однією із найпоширеніших методологій є контроль якості програмних артефактів за допомогою методів ручного та/або автоматизованого тестування – ця методологія використовується при розроблені практично 100% програмних продуктів. 36% від бюджету забезпечення якості ПЗ (за даними того ж World Quality Report 2021) припадає на розроблення та/чи купівлю програмних засобів для тестування. При цьому з кожним роком зростає відсоток використання методів автоматизованого тестування програмного забезпечення замість ручного тестування людиною, відповідно і в категорії програмних засобів зміщується акцент на розроблення саме автоматизованих тестів та програмних засобів для їх написання. Незважаючи на наявність достатньо широкого спектру методів автоматизованого тестування, досі залишається актуальною задача підвищення ефективності контролю якості ПЗ за критерієм кількості потенційно знайдених дефектів за рахунок розроблення нових та вдосконалення існуючих методів тестування. Крім того, важливою проблемою є застосування автоматизованого тестування при розробленні складних програмних систем з великою потужністю множини можливих вхідних даних та внутрішніх станів, таких як програмні системи автоматичної кластеризації природномовних текстових даних. Зазвичай, застосування методів автоматизованого тестування в таких системах обмежується найпростішими модульними тестами, що перевіряють тривіальні випадки, але досягти можна значно більшого. Таким чином, вище описані задачі визначають актуальну науковотехнічну задачу вдосконалення теоретичних (методів) та практичних (програмних засобів) основ тестування програмних систем автоматичної кластеризації природномовних текстових даних, яка вирішується у даній дисертаційній роботі. Метою дисертаційної роботи є підвищення ефективності розроблення програмних засобів тестування програмних систем автоматичної кластеризації природномовних текстових даних за рахунок розроблення нових архітектур та шаблонів проєктування та підвищення ефективності тестування програмних систем автоматичної кластеризації природномовних текстових даних за рахунок розроблення нових методів їх тестування. У першому розділі дисертаційної роботи проаналізовано основні методи кластеризації природномовних текстових даних, які використовуються у програмних системах, основні методи тестування таких програмних систем та основні методи оцінювання ефективності методів кластеризації текстів, що дозволило сформувати ключові вимоги до методів та програмних засобів тестування програмних систем кластеризації природномовних текстових даних. У другому розділі дисертаційної роботи розроблено методи та програмні засоби генерування корпусів текстових даних, зокрема, визначено основні підходи до підготовки вхідних даних для тестування програмних систем кластеризації текстів, розроблено та досліджено сімейство методів генерування корпусів текстових даних CorDeGen, розроблено та досліджено програмне забезпечення для генерування корпусів текстів запропонованими методами, показано перспективи використання запропонованих методів генерування корпусів текстів не тільки в контексті метаморфічного тестування. У третьому розділі дисертаційної роботи розроблено методи та програмні засоби проєктування безсерверного програмного забезпечення для метаморфічного тестування, зокрема, обґрунтовано можливість застосування підходу безсерверних обчислень до метаморфічного тестування, розроблено та досліджено узагальнену безсерверну архітектуру програмного забезпечення для метаморфічного тестування, розроблено та досліджено шаблон проєктування програмного забезпечення «Metamorphic Testing-as-a-Service», розроблено та досліджено програмні засоби для проєктування програмних систем метаморфічного тестування з використанням шаблону проєктування «MTaaS», розглянуто можливість узагальнення шаблону проєктування «MTaaS» для будь-яких кінцевих представлень. У четвертому розділі дисертаційної роботи розроблено методи та програмні засоби метаморфічного тестування програмних систем автоматичної кластеризації текстів, зокрема, розроблено та досліджено методи метаморфічного тестування MEETC і MEETC-k, розроблено та досліджено програмний засіб метаморфічного тестування програмних систем автоматичної кластеризації природномовних текстових даних. У дисертаційній роботі отримано низку нових наукових результатів, зокрема, уперше розроблено метод метаморфічного тестування програмних систем автоматичної кластеризації природномовних текстових даних MEETC, який, на відміну від існуючих методів, є застосовним до програмних реалізацій будь-яких детермінованих методів кластеризації текстів без вхідного параметру кількості кластерів та забезпечує ефективність мутаційного тестування за показником оцінки мутації у 81-100%. Уперше розроблено метод метаморфічного тестування програмних систем автоматичної кластеризації природномовних текстових даних MEETC-k, який, на відміну від існуючих методів, є застосовним до програмних реалізацій будь-яких детермінованих методів кластеризації текстів з вхідним параметром кількості кластерів та забезпечує ефективність мутаційного тестування за показником оцінки мутації у 86-100%. Уперше запропоновано узагальнену архітектуру програмного забезпечення для метаморфічного тестування на основі використання моделі безсерверних обчислень, що дозволяє спростити процес розроблення програмних засобів для метаморфічного тестування та досягти прискорення виконання тестування програмних систем кластеризації текстів у 34-50%, в порівнянні з існуючими архітектурами. Уперше розроблено архітектурний шаблон проєктування програмного забезпечення «Metamorphic Testing-as-a-Service», характерною рисою якого є декомпозиція метаморфічного зв’язку на окремі складові та кодогенерація тіл метаморфічних зв’язків і безсерверних функцій. Використання запропонованого шаблону дозволяє зменшити дублювання і зв’язність програмного коду при розробленні програмних засобів для безсерверного метаморфічного тестування та покращує стандартні метрики якості коду: кількість рядків виконуваного коду та зв’язність класів в цілому, цикломатичну складність та індекс підтримуваності для окремих компонент. Уперше розроблено сімейство методів генерування корпусів текстових даних CorDeGen, характерною рисою яких є детермінованість та легкість апріорного опису структури отримуваного корпусу та які, на відміну від існуючих методів генерування корпусів, приймають на вхід мінімально можливу кількість параметрів, таким чином спрощуючи опис, зберігання та відтворення результатів: 1. базовий метод CorDeGen – на відміну від інших методів сімейства, забезпечує найвищу швидкість генерування корпусів за рахунок використання більш складного апріорного опису структури отримуваного корпусу, що викликано видаленням частини генерованих термів методами попереднього оброблення природномовних текстових даних; 2. метод CorDeGen+ – на відміну від інших методів сімейства, уникає видалення частини генерованих термів з корпусу, завдяки чому полегшується апріорний опис структури отримуваного корпусу; 3. метод SemCorDeGen – на відміну від інших методів сімейства, генерує корпуси текстів, які можливо використовувати разом з методами оброблення природномовних текстових даних на основі застосування семантичних моделей за рахунок розширення кількості вхідних параметрів. Практичне значення одержаних результатів полягає у спрощенні процесу розроблення програмних засобів для метаморфічного тестування в цілому (за рахунок використання узагальненої безсерверної архітектури та шаблону проєктування «MTaaS») та, зокрема, для тестування програмних систем автоматичної кластеризації природномовних текстових даних (за рахунок використання сімейства методів генерування корпусів текстів CorDeGen). Крім того, сімейство методів CorDeGen також може використовуватись на практиці в наукових дослідженнях для підвищення їх відтворюваності. Розроблені програмні засоби опубліковано у відкритому доступі, для їх частини створено та опубліковано загальнодоступні NuGet пакети, які можуть під’єднуватись та використовуватись сторонніми розробниками. Основні результати дисертаційної роботи опубліковано у 6 наукових працях, зокрема, у 3 наукових статтях, з яких 1 статтю опубліковано у закордонному фаховому виданні третього квартиля (Q3), яке проіндексоване в базі даних Scopus, і 2 статті опубліковано у фахових виданнях, включених до переліку наукових фахових видань України з присвоєнням категорії «Б», та у 3 матеріалах науково-технічних конференцій, з яких 1 публікація у матеріалах міжнародної наукової конференції, що проіндексовано у базі даних Scopus.Quality assurance of software systems is still an urgent problem in the IT area because software errors may lead to financial and/or reputational losses, create security problems, and in the worst case – lead to human fatality. Billions of dollars are spent annually on software quality assurance – according to the World Quality Report 2021, the software quality assurance expenditures amount at 18 through 35 percent of the total IT budget of an average company – therefore, any increase in efficiency in this area will lead to significant savings. There are many methodologies for ensuring the quality of software systems, such as quality control of software artifacts, standardization and certification of development processes, work with requirements, organization of support, etc. One of the most common methodologies is the quality control of software artifacts using manual and/or automated testing methods – this methodology is used in the development of almost 100% of software products. 36% of the quality assurance budget (according to the same World Quality Report 2021) is spent on the development and/or purchase of testing software tools. At the same time, the share of automated software methods use instead of manual human testing increases every year, and, correspondingly, in the category of software tools the emphasis shifts to the development of automated tests and software tools for their implementation. Despite the presence of a sufficiently wide range of automated testing methods, the task of increasing the effectiveness of quality control based on the criterion of the number of potentially found defects by developing new and improving existing testing methods is still relevant. In addition, an important problem is the application of automated testing in the development of complex software systems with a large capacity of the space of possible input data and internal states, such as software systems for automatic clustering of natural language text data. Usually, the application of automated testing methods in such systems is limited to the simplest unit tests that test trivial cases, but much more can be achieved. Thus, the tasks described above define the actual scientific and technical task of improving the theoretical (methods) and practical (software) foundations of testing software systems for automatic clustering of natural language text data, which is solved in this dissertation. The purpose of the dissertation is to increase the effectiveness of the development of software tools for testing software systems for automatic clustering of natural language text data by developing new architectures and design patterns and to increase the effectiveness of testing software systems for automatic clustering of natural language text data by developing new methods of their testing. The first section of the dissertation analyzed the main methods of clustering natural language text data used in software systems, the main methods of testing such software systems, and the main methods of evaluating the effectiveness of text clustering methods (according to the criterion of the quality of the results), which made it possible to formulate key requirements for methods and software tools of testing software systems for natural language text data clustering. In the second section of the dissertation, methods and software tools for generating corpora of text data are developed, in particular, the main methods of preparing input data for testing text clustering software systems are defined, the family of methods for generating corpora of textual data CorDeGen was developed and researched, developed and researched software for generating text corpora using the proposed methods, the prospects of using the proposed methods of generating text corpora are shown not only in the context of metamorphic testing. In the third section of the dissertation, methods and software tools for designing serverless software for metamorphic testing are developed, in particular, the possibility of applying the approach of serverless computing to metamorphic testing is substantiated, developed and investigated the basic serverless architecture of software for metamorphic testing, the "Metamorphic Testing-as-a-Service" software design pattern was developed and researched, developed and researched software tools for designing metamorphic testing software systems using the "MTaaS" design pattern, the possibility of generalizing the "MTaaS" design pattern for any end views is considered. In the fourth section of the dissertation, methods and software tools for metamorphic testing of automatic text clustering software systems were developed, in particular, MEETC and MEETC-k metamorphic testing methods were developed and researched, a software tool for metamorphic testing of software systems for automatic clustering of natural language text data was developed and researched. The dissertation provides several new scientific results, in particular, for the first time, the method of metamorphic testing of software systems for automatic clustering of natural language text data MEETC was developed, which, unlike existing methods, is applicable to software implementations of any deterministic methods of text clustering without the input parameter of the number of clusters and ensures the effectiveness of mutation testing according to the mutation score in 81- 100%. For the first time, the method of metamorphic testing of software systems for automatic clustering of natural language text data MEETC-k was developed, which, unlike existing methods, is applicable to software implementations of any deterministic text clustering methods with the input parameter of the number of clusters and ensures the effectiveness of mutation testing according to the mutation score in 86-100%. For the first time, the basic software architecture for metamorphic testing based on the use of a serverless computing model is proposed, which allows to simplify the process of developing software tools for metamorphic testing and to achieve an acceleration of the testing of text clustering software systems by 34-50%, compared to existing architectures. For the first time, the architectural software design pattern "Metamorphic Testing-as-a-Service" was developed, the characteristic feature of which is the decomposition of the metamorphic relation into separate components and the code generation of the bodies of metamorphic relations and serverless functions. The use of the proposed pattern makes it possible to reduce the duplication and coupling of the software code when developing software tools for serverless metamorphic testing and improves the standard metrics of code quality: the number of lines of executable code and the class coupling as a whole, the cyclomatic complexity and the maintainability index for individual components. For the first time, the family of methods for generating corpora of text data CorDeGen has been developed, the characteristic feature of which is the determinism and ease of a priori description of the structure of the received corpus, and which, unlike the existing corpus generation methods, accept as input the minimum possible number of parameters, thus simplifying the description, storage and reproduction of results: 1. the basic CorDeGen method – unlike other methods of the family, provides the highest speed of corpora generation due to the use of a more complex a priori description of the structure of the received corpus, which is caused by the removal of a part of the generated terms by methods of pre-processing of natural language text data; 2. the CorDeGen+ method – unlike other methods of the family, it avoids removing part of the generated terms from the corpus, which facilitates the a priori description of the structure of the resulting corpus; 3. the SemCorDeGen method – unlike other methods of the family, generates corpora of texts that can be used together with natural language text data processing methods based on the application of semantic models due to the expansion of the number of input parameters. The practical significance of the obtained results lies in the simplification of the process of developing software tools for metamorphic testing in general (due to the use of the basic serverless architecture and the "MTaaS" design pattern) and, in particular, for testing software systems for automatic clustering of natural language text data (due to the use of the family of text corpora generation methods CorDeGen). In addition, the CorDeGen family of methods can also be used in practice in scientific research, to increase their reproducibility. The developed software tools are published in open access, for some of them publicly available NuGet packages have been created and published, which can be connected and used by third-party developers. The main results of the dissertation were published in 6 scientific papers, in particular, in 3 scientific articles, including 1 article published in a foreign scientific journal of the third quartile (Q3), which is indexed in the Scopus database, and 2 articles published in scientific journals included in the list of scientific journals of Ukraine in category «Б», as well as in 3 materials of scientific and technical conferences, including 1 paper in the proceedings of the international scientific conference indexed in Scopus database
    corecore