Skip to main content
Version: 10.3.2

Project testing

The final phase of the project is testing. The team should complete internal testing and then hand over the solution to the client for User Acceptance Testing (UAT).

The Data Analyst needs to prepare test cases according to the business requirements and help in functional and end-to-end testing. The technical lead is usually responsible for integration and performance testing, while the client's team performs the acceptance testing.

Once UAT starts, the Data Analyst sorts out feedback from the client's testing team, distinguishes between bugs and change requests, and retests bugs once they are fixed.

Test types are enumerated below.

Functional tests

Functional tests focus on the business requirements of an application. They mainly verify the output of an action. Data Analysts create test cases and manually run Business Processes to verify system behavior and output.

End-to-end tests

End-to-end testing replicates a user behavior with the software in a complete application environment. It verifies that various user flows work as expected and can be as simple as checking a report or a notification or much more complex scenarios to verify documents in Workspace, make a decision, and so on.

End-to-end tests are usually performed once before UAT and after all functional tests pass successfully.

Smoke testing

Smoke tests are basic tests that check the basic functionality of an application. They are meant to be quick to execute. Their goal is to assure you that your system's major features are working as expected.

Smoke tests are not a stand-alone type of tests on the project. Usually, they are applied when there are significant changes to the system, numerous bugs are fixed, and integration points are changed to verify that the system is functioning and functional or some other testing can be started.

Integration tests

Integration tests verify that different modules or services your application uses work well together. For example, it can be testing the interaction with the database or checking that services work together as expected.

Sometimes, there is confusion between integration tests and functional tests as they require multiple components to interact with each other. The difference is that an integration test can verify that you can query the database, while a functional test expects to get a specific value from the database as defined by the product requirements.

Performance testing

Performance tests evaluate how a system performs under a particular workload. These tests help measure an application's reliability, speed, scalability, and responsiveness. For example, a performance test can observe response times when executing a high number of requests or determine how the system behaves with a significant amount of data. It can determine if an application meets performance requirements, locate bottlenecks, measure stability during peak traffic, and more.

Acceptance testing

Acceptance tests are formal tests that verify if a system satisfies business requirements. They require an entire application to run while testing and focus on replicating user behaviors. They can also go further and measure the system's performance and reject changes if specific goals are not met.

template