Bug Hunters: Creating Test Data for Accurate QA
Generally, software testing is somehow to prove that the system is working as expected by undergoing maximum possible flows using valid and invalid data.
The goal is to completely remove any concerns about the internal behaviour and the structure of the program. Instead, we concentrate on finding circumstances in which the program does not behave according to its specifications.
Figure 1: Model of software testing process
Software testing of Sqayy is the process of identifying the correctness and quality of Sqayy development by checking every feature in Sqayy satisfies the specific requirements, needs and expectations of the customer. In addition, the job of testing in Sqayy also to find out the reasons of Sqayy failures so that they can be corrected by the development team according to the requirements.
Every requirement for new feature development or customer customisation development in Sqayy will be recorded in Confluence documents, which includes feature background, data dictionary, technical diagrams, test cases and screens prototype. The design engineer is responsible for creating Jira tasks for the testing procedures as it has a workflow engine that allows design engineer and software tester to track issues or tasks through a predefined and highly customizable workflow.
The development of Sqayy is beyond effort
Test data is the input given to a software program during software testing. It represents data that affects or is affected by the execution of the specific module in the Sqayy. Some test data may be used for positive testing that produces an expected result while some test data may be used for negative testing to test the ability of the software to handle unusual or unexpected input. Poor testing of data may not test all possible valid and invalid scenarios in which it will disrupt the quality of Sqayy.
For example, if you want to test one module in Sqayy which is the online application, ie student personal details. To test them, you will need different input data such as photos of different formats, various email validation format, boundary conditions of integer and after that, you may start to check how system respond to valid and invalid data.
As the application functionalities grow, so does the corresponding test data-to-be-used for testing. It may be any kind of input to the application-under-test such as user credential, environmental data, setup data, database tables, uploaded files or transitional data.
Therefore, in order to yield accurate QA results, the tester needs valid data to prevents software defects by simulating real data and structure them closely. This will help QA teams to spot errors or defects in Sqayy functionality more definitively.
Test data commonly includes the following types:
- Absent Test Data
- Absent test data refers to executing test case in blank data set environment. The system is expected to verify and generate proper error messages. Let say, you need to test mandatory field name in the student application. Try to leave the field blank and observe how the system reacts. Check whether the system is able to generate an error message alert to trigger the user to fill in the form.
- Valid Test Data
- Valid test data refers to the input of the common data that should work. Usually, the system is expected to handle, process and stores data as intended, responding as per requirements. For instance, you are required to test a text box; Identity card no (IC) and passport number – during student application. We will need to prepare valid test data such as numeric, alphanumeric, maximum and minimum length of IC and passport number to see if the system can process and generate output as intended upon requirements.
- Illegal Data Format
- This test data is to make sure that the abnormal data format does not break the system. For example, let say we want to test Enter Student Marks, illegal test data would be any negative value entered into the field. The system should be able to accept and process student marks; from marks 1-100, and abnormal test data would include -1. The system is expected to react relevantly on entering the data of inappropriate format like this.
- Boundary Condition Dataset
- Boundary Condition dataset is used to test the behaviour of a system at the boundaries. For instance, the IC/Passport number field in student application, the tester may prepared test condition such as the maximum value of IC that can be entered which is 12 digits, any value less or greater than 12 digits will be considered invalid, any special characters are not allowed. Therefore, the tester will prepare test data according to these test conditions. The system is expected to behave at the boundary values of the valid partitions and how the system reacts when value beyond the boundary is entered.
- Invalid Test Data
- Invalid test data refers to data that has not been created to be handled by the system and that it will definitely fail. For example, when testing IC/passport number field in the student application form, the tester needs to prepare invalid test data such as the alphabet as well as special characters. By right, alphabet and special characters are not allowed to be processed by the system. However, the system is expected to process these invalid values and shows relevant messages and notifies the user that the data is invalid
- Data set for performance, load and stress testing
- Performance testing is performed to determine how fast the system responds under a particular workload. A large amount of data set is required for these kinds of testing. The system is expected to handle a huge load of data by determining the speed, responsiveness and stability of the system.
Well defined test data is an important concept for successful QA in Sqayy. Absent, obsolete or wrong test data might result in unreliable test results. Test data is significant in executing test case during testing development.
With quality data, testers are able to find defects earlier in the development lifecycle for cheaper, faster bug fixing with less risk of bugs in production. Thus, this will help to ensure the efficiency of Sqayy.