Software testing is a dynamically improving, integral part of software development. Because the increasing complexity of applications, it’s role continuously appreciated. Detection and elimination of faults are essential for reliable operation of software. This is supported by testing, which means that the application is executed in a fixed environment, and the results are evaluated and documented.
The goal of my thesis was to give an overview of the testing methods and tools for .NET web applications. For this purpose I have chosen a free ASP.NET sample application.
I have started with researching the related literature, during which I have acquired knowledge about major concepts used in software testing e.g., testing types and testing levels. Chapter 1 of my theses contains the description of the above. Chapter 2 introduces the .NET framework, and major functions of the selected sample application. Similarly to most free applications available on the web, the selected application has not had any documentation either, therefore before the planning of the test cases I also had to write the specification of the application. In Chapter 3, based on the elaborated specification I have designed module, integration and system level test cases for the application. The planning phase was followed by implementation in Chapter 4. During unit testing I have carried out the testing of modules, the smallest individual units of the application, while with the help of integration testing I have inspected the joint operation of the application’s business logic and data layer. At system level I have tested the functions of the application through the user interface. The tests were evaluated in the phase following implementation. This was carried out partly based on running the test cases, and based on the code coverage achieved by them. Detailed results are included in Chapter 5.
Finally in the last chapter I have summarised the elaborated work, and based on the acquired experience I have presented recommendations for the further development of the introduced methods and tools.