In the age of data analytics, data types are the fundamental blocks of any programming language. The data type is used to assign the type of value that the data variable can store. For instance, the "Integer" data type can store numbers.
Using data types, digital technologies can determine how to interpret a stored value. Data types also determine the mathematical and logical operations to execute on the variables. For any real-life data-related scenario, data types are beneficial and relevant. For example, storing customer information.
Similarly, an event tracking plan must include the data type of every event-related property to ensure data accuracy and eliminate data losses.
What are Data Types?
In software development, a data type specifies the type of value stored in any data variable. For example, the "String" data type can store text, while "Float" can store a decimal number. Primarily, there are five basic data types, namely:
- Used to store text, special symbols, or alphanumeric characters
- For example: “Jack,” “Good morning!” or “abc123”
- Used to store whole numbers (including positive and negative numbers)
- For example: 5, -10, 0
- Used to store decimal numbers
- For example: 3.14, 0.07, or -6.25
- Used to store a singular value (for example, a single number, symbol, or even blank space)
- For example: “@” “_” “” or “9”
- Used to store a logical value
- For example: TRUE or FALSE
How are data types relevant to the software testing domain? A data type represents a data item with a defined structure. Along with the structure, software testers can create and manage values for each data instance (based on its data type).
For instance, a data type can perform the following:
- Create permutations from existing test cases.
- Abstract and define the data from the Actions and Scenario logic.
- Allow multiple instance values (specific to the same application environment).
What are Data Lists?
A data list refers to a collection of data types that allows a single entity to store multiple variables. For example, consider a Table or a Database that must store different types of values. Data lists (or the "List" data type) can store all the values in the same field.
Primarily, a data list contains 3 data types, namely:
- List – String: to store string or text values of up to 255 characters in length.
- List – Number: to store numbers up to 15 digits in length.
- List – Date: to store either date or date-time values.
How are data lists used in application testing? For any application under test, each data list (containing a list of data values) is used to input testing requirements. For instance, customer information for an eCommerce app.
Effectively, software testers must develop their application test logic by feeding various combinations of values into a given application field. In this scenario, data lists prove to be efficient in achieving the best results.
How do data lists differ from data types in the realm of application testing? Let's discuss this in the following section.
What Is the Difference Between Data Type and List in Application Testing?
For any test logic, both data types and lists help test any application field for different combinations of data inputs.
In essence, a data type represents a data element with a defined structure. For example, a banking application can have different types of accounts, including retail and commercial. Further on, a retail account can be either standard or platinum. Similarly, a commercial account can be an individual, enterprise, or small business.
On the other hand, a data list represents a flat list of values applicable to a data field in the application. For example, account status in a banking application is typically classified as New, Current, Closed, Active, or Locked.
Data types prove helpful when there's a need for a classification structure for the test inputs. For example, an airport code field (during flight booking) can vary for different business scenarios. In the case of "domestic" flight bookings, the airport code could be a single city, multiple cities, or a hub airport. An "international" flight booking can be France, Atlantic, or Asia. As business rules vary for each scenario, data types are useful for each of these classes. Hence, test coverage must cover all these scenarios.
Data lists prove helpful in testing scenarios where inputs are from a flat list of possible values (without any hierarchy). For example, the "Service Class" (in flight booking) can be a data list with values as Economy, Business Class, or First Class.
As the final point of difference, data types require instance values against each leaf node. The test logic needs to only reference the leaf node, while values are retrieved dynamically on executing the test cases. For data lists, the values are the list items used directly in the test logic.
How To Work with Data Types and Lists on ACCELQ
The ACCELQ platform supports multiple application environments, including development, QA, and production. As the project administrator, you can set up the application environment using the "Project Administration" module.
To create a data type in the application environment:
- Click the “Create Entity” icon and select the “data type” option.
- From the “New Data Type” panel, enter the name and description (optional) of the data type.
- Select either the “Fixed” or “Variable” data value option. Select “Variable” if the data values (for each class) are different for each application environment.
- Add the necessary tags to each data type.
- From the “Custom Info” tab, specify the values for the custom fields.
- Use the “Partition” section to create the classification structure and enter the instance values.
To create a data list:
- From the “New Data List” panel, enter the name and description of the data list.
- Enter the values to each data list.
At ACCELQ, we provide an industry-recognized codeless test automation platform that ensures the best quality for every enterprise application. ACCELQ can make a significant difference to your software testing approach.
Get in touch with us for your requirements. Request for a product demo!