Testing plays an important role in the process of quality assurance. In case of software development projects it is a crucial requirement that the system is made exactly as it is in the plan. The control of functioning and the prevention of malfunctions can be managed through functional testing. Nowadays the testing processes get more and more important in order to provide quality.
In my thesis I introduce the theoretical background of testing, the types of it, the process and place of it in the lifecycle of the software. Through the functional testing of a well-defined part of a datawarehouse implemented on Java EE platform I show the phases of the work. The components can be reached via communication based on Web Service and Message Queue from the outer world (source systems), while they communicate with each other with the help of Message Queue and database-tables. I worked on the testing of a live system, where due to the experiences and demands, there were changes in the specification and so in the implementation. These had to be followed during the functional testing.
Non-functional testing checks the conditions and constraints needed for the functioning. If the non-functional requirements are not fulfilled, the serviceableness of the system is threatened.
Keeping the features of the problem and the environment in mind I design the functional testing of the processes and introduce the tools used for that. After finishing the tests I evaluate the process with its weaknesses and strengths. Altogether I have made more than 100 tests during which several functional and non-functional problems were revealed.
The results acquired from the test methods I used can provide important feedback for the improving of the system. Moreover the experience I gained can be applied for the impelentation of test projects for other, similar systems.