Automatic Generation of Test Cases for Agile using Natural Language Processing

dc.contributor.authorRane, Prerana Pradeepkumaren
dc.contributor.committeechairMartin, Thomas L.en
dc.contributor.committeememberAbbott, A. Lynnen
dc.contributor.committeememberHarrison, Steven R.en
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2017-03-25T08:00:26Zen
dc.date.available2017-03-25T08:00:26Zen
dc.date.issued2017-03-24en
dc.description.abstractTest case design and generation is a tedious manual process that requires 40-70% of the software test life cycle. The test cases written manually by inexperienced testers may not offer a complete coverage of the requirements. Frequent changes in requirements reduce the reusability of the manually written test cases costing more time and effort. Most projects in the industry follow a Behavior-Driven software development approach to capturing requirements from the business stakeholders through user stories written in natural language. Instead of writing test cases manually, this thesis investigates a practical solution for automatically generating test cases within an Agile software development workflow using natural language-based user stories and acceptance criteria. However, the information provided by the user story is insufficient to create test cases using natural language processing (NLP), so we have introduced two new input parameters, Test Scenario Description and Dictionary, to improve the test case generation process. To establish the feasibility, we developed a tool that uses NLP techniques to generate functional test cases from the free-form test scenario description automatically. The tool reduces the effort required to create the test cases while improving the test coverage and quality of the test suite. Results from the feasibility study are presented in this thesis.en
dc.description.abstractgeneralTesting is a crucial part of the software life cycle which ensures that the developed product meets the needs of the business. The Agile methodology is an iterative and incremental approach to software development. This work is a contribution to the testing process in Agile software development. Currently, test cases are written manually based on the requirements provided by the business. Manual test case generation is a time-consuming process. The business frequently changes the requirements thus wasting time and effort spent in manually writing the test cases. Also, not all the testers have prior knowledge of the working of the system which leads to difficulties in designing the test cases to match the requirements. In this work, we have developed a tool which can generate test cases suitable for Agile software development from the requirements provided. This automatic test case generation tool reduces the effort needed, improves the quality test cases and the coverage of the requirements by the generated test cases. This work can find application in industries that use Agile methodologies for developing and testing their products.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:10573en
dc.identifier.urihttp://hdl.handle.net/10919/76680en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectAutomatic Test Case Generationen
dc.subjectAgile Testingen
dc.subjectRequirements Engineeringen
dc.titleAutomatic Generation of Test Cases for Agile using Natural Language Processingen
dc.typeThesisen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
Rane_PP_T_2017.pdf
Size:
3.54 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
Rane_PP_T_2017_support_2.pdf
Size:
427.55 KB
Format:
Adobe Portable Document Format
Description:
Supporting documents

Collections