Automating test case generation based on user story using natural language processing to increase software testing efficiency

Software testing is an important part of the software development life cycle (SLDC). In order to meet the requirements of software functionality, quality, and reliability, different kinds of testing are carried out during the development, deployment, and maintenance phases of the software. Testing p...

Full description

Bibliographic Details
Main Author: Yadav, Bhanu Pratap
Other Authors: Faculty of Information Technology, Informaatioteknologian tiedekunta, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:eng
Published: 2024
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/95394
_version_ 1826225692854976512
author Yadav, Bhanu Pratap
author2 Faculty of Information Technology Informaatioteknologian tiedekunta Jyväskylän yliopisto University of Jyväskylä
author_facet Yadav, Bhanu Pratap Faculty of Information Technology Informaatioteknologian tiedekunta Jyväskylän yliopisto University of Jyväskylä Yadav, Bhanu Pratap Faculty of Information Technology Informaatioteknologian tiedekunta Jyväskylän yliopisto University of Jyväskylä
author_sort Yadav, Bhanu Pratap
datasource_str_mv jyx
description Software testing is an important part of the software development life cycle (SLDC). In order to meet the requirements of software functionality, quality, and reliability, different kinds of testing are carried out during the development, deployment, and maintenance phases of the software. Testing processing can be carried out manually or automatically using automation scripts and tools. Currently, the major problems in software testing are time-consuming, and in cases of manual testing, error-proneness and cost add up to more challenges. In agile software development, testers need to analyse the requirements of the user stories in detail, and write test cases for the user stories. One user story might have multiple test cases, creating them manually requires a lot of time and effort. In recent years, Natural Language Processing(NLP) has made significant progress in understanding the meaning and context of human-understandable words and languages. The Transformer, a kind of NLP model, is able to perform a wide range of NLP related tasks with maximum accuracy. The purpose of this research is to understand and analyse the feasibility of using natural process language to generate software test cases automatically from user stories. By understanding user stories and converting them into appropriate test cases through the help of fine tuned T5 model, this research aims to decrease the time and effort needed to create test cases manually and improve the overall efficiency and accuracy of the software testing process. The research includes the study of transformer architecture, which is a deep learning model for natural language processing. Preparing custom datasets, preprocessing them, fine-tuning the T5 model on the prepared dataset, and finally assessing the model's performance using Recall-Oriented Understudy for Gisting Evaluation (ROUGE), a Natural Language Generation (NLG) assessment metric, are all included in the experiment section.
first_indexed 2024-05-31T20:00:36Z
format Pro gradu
fullrecord [{"key": "dc.contributor.advisor", "value": "Khriyenko, Oleksiy", "language": null, "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Yadav, Bhanu Pratap", "language": null, "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2024-05-31T06:19:24Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2024-05-31T06:19:24Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2024", "language": null, "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/95394", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "Software testing is an important part of the software development life cycle (SLDC). In order to meet the requirements of software functionality, quality, and reliability, different kinds of testing are carried out during the development, deployment, and maintenance phases of the software. Testing processing can be carried out manually or automatically using automation scripts and tools. Currently, the major problems in software testing are time-consuming, and in cases of manual testing, error-proneness and cost add up to more challenges. In agile software development, testers need to analyse the requirements of the user stories in detail, and write test cases for the user stories. One user story might have multiple test cases, creating them manually requires a lot of time and effort. In recent years, Natural Language Processing(NLP) has made significant progress in understanding the meaning and context of human-understandable words and languages. The Transformer, a kind of NLP model, is able to perform a wide range of NLP related tasks with maximum accuracy. The purpose of this research is to understand and analyse the feasibility of using natural process language to generate software test cases automatically from user stories. By understanding user stories and converting them into appropriate test cases through the help of fine tuned T5 model, this research aims to decrease the time and effort needed to create test cases manually and improve the overall efficiency and accuracy of the software testing process. The research includes the study of transformer architecture, which is a deep learning model for natural language processing. Preparing custom datasets, preprocessing them, fine-tuning the T5 model on the prepared dataset, and finally assessing the model's performance using Recall-Oriented Understudy for Gisting Evaluation (ROUGE), a Natural Language Generation (NLG) assessment metric, are all included in the experiment section.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by jyx lomake-julkaisija (jyx-julkaisija.group@korppi.jyu.fi) on 2024-05-31T06:19:24Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2024-05-31T06:19:24Z (GMT). No. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "55", "language": null, "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "eng", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": "en", "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.title", "value": "Automating test case generation based on user story using natural language processing to increase software testing efficiency", "language": null, "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202405314157", "language": null, "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Cognitive Computing and Collective Intelligence", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "restrictedAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.rights.accessrights", "value": "The author has not given permission to make the work publicly available electronically. Therefore the material can be read only at the archival workstation at Jyv\u00e4skyl\u00e4 University Library (https://kirjasto.jyu.fi/en/workspaces/facilities/facilities#autotoc-item-autotoc-2).", "language": "en", "element": "rights", "qualifier": "accessrights", "schema": "dc"}, {"key": "dc.rights.accessrights", "value": "Tekij\u00e4 ei ole antanut lupaa avoimeen julkaisuun, joten aineisto on luettavissa vain Jyv\u00e4skyl\u00e4n yliopiston kirjaston arkistoty\u00f6semalta. Ks. https://kirjasto.jyu.fi/fi/tyoskentelytilat/laitteet-ja-tilat#autotoc-item-autotoc-2.", "language": "fi", "element": "rights", "qualifier": "accessrights", "schema": "dc"}]
id jyx.123456789_95394
language eng
last_indexed 2025-02-18T10:54:23Z
main_date 2024-01-01T00:00:00Z
main_date_str 2024
publishDate 2024
record_format qdc
source_str_mv jyx
spellingShingle Yadav, Bhanu Pratap Automating test case generation based on user story using natural language processing to increase software testing efficiency Cognitive Computing and Collective Intelligence
title Automating test case generation based on user story using natural language processing to increase software testing efficiency
title_full Automating test case generation based on user story using natural language processing to increase software testing efficiency
title_fullStr Automating test case generation based on user story using natural language processing to increase software testing efficiency Automating test case generation based on user story using natural language processing to increase software testing efficiency
title_full_unstemmed Automating test case generation based on user story using natural language processing to increase software testing efficiency Automating test case generation based on user story using natural language processing to increase software testing efficiency
title_short Automating test case generation based on user story using natural language processing to increase software testing efficiency
title_sort automating test case generation based on user story using natural language processing to increase software testing efficiency
title_txtP Automating test case generation based on user story using natural language processing to increase software testing efficiency
topic Cognitive Computing and Collective Intelligence
topic_facet Cognitive Computing and Collective Intelligence
url https://jyx.jyu.fi/handle/123456789/95394 http://www.urn.fi/URN:NBN:fi:jyu-202405314157
work_keys_str_mv AT yadavbhanupratap automatingtestcasegenerationbasedonuserstoryusingnaturallanguageprocessingtoinc