With our third AppnByte – we’re taking a look at the testing process, as seen through the eyes of Brandon Reid, a junior front-end dev at Appenate.
Let’s enter the process.
Combining Manual & Automated Testing
The testing process begins long before the code is even written. Much thought is put into how the user will interact with the change made, and this is the basis of the Test Cases, which will be used to outline what to test in the change.
Our testing is done in two ways, the first being automated testing software such as selenium. This is used to simulate what a user would do and how they would react to the change or the new feature. For example, an automated test could be testing a field’s validation by:
- Logging in as a user navigating to Screens.
- Creating a screen and filling in the dynamic value of a text field.
- Clicking ‘save’ and waiting for the page to load.
- Scanning the form for an error either as a pop-up or in the dynamic value itself.
These automated tests are an ever-growing pool that will run automatically when a code change is made to ensure compatibility with the platform.
We have a large library of existing tests to test old cases and we take great care when making changes to the older data or the test logic itself. By creating new test cases and rarely changing the existing tests, we ensure a higher level of backwards compatibility.
The second method, manual testing, can follow the same style but needs to be done for specific use cases that the automated tests cannot replicate. A relevant use case for manual testing would be testing that a property’s values flow through the Platform and into the App. For example, adding a field (like a Navigation Button) into the form designer would warrant this form of manual testing. We would need to test not only that the button is visible in the App but also that its properties (as set in the Designer) flow through to the App, i.e. Text Color, Background Color, and Interaction.
How would we check that the new property’s values are present on both the Platform and App at the same time using automated testing? We can’t. We have to use manual testing before the code is pushed to live. By using a combination of manual & automated testing, we can ensure that the user experience maintains visual and functional consistency throughout the platform (as far as possible).