Programming Fundamentals for Software Testers
Programming Fundamentals for Software Testers

The expected qualities of a good tester include a set of good skills and attributes such as an analytical mindset, domain knowledge of the platform being developed on, good SQL concepts, and coding skills. These skills enhance their ability to carry out the tasks and add credit to their testing skills.

Testers having coding skills can help detect defects in the early phases of the project development lifecycle. It is useful in finding the root cause of the defect and also identifying sections of code that may be prone to errors.

To run an automated set of tests on an application, a tester needs to be familiar with the basics of HTML and CSS, as they are used for the front end of almost every web page and application. HTML and CSS knowledge helps testers investigate the code page from a browser console (Page Inspect) while testing the page. Having knowledge of CSS will help pinpoint the design issues and make sure that the page looks visually correct to viewers.

Knowledge of a scripting language such as JavaScript is an added advantage, as this will not only be useful in user input validation but also in validating other events that trigger the execution of JavaScript. JavaScript knowledge also helps in executing Selenium (automated test tool) scripts. If an application throws a JavaScript error, this can be checked in the console. This information can be used to generate a bug report for the developer. 

SQL skills are required to verify entered test data and insert, update, and delete the test data values in the database. It also helps understand the relationships between the DB tables and columns.

SQL knowledge also helps validate the following aspects of the database:
– Data-mapping
– Validation of ACID properties
– Data Integrity

To conclude, a tester with some coding skills does make more sense than a tester without coding skills. However, a tester without coding skills cannot be overlooked as she/he might have a different perspective on testing the flow of data through the system. If asked to test an application, it is quite possible that both of them will find different sets of defects.

Muriel Fernandes

Blog written on: 04-09-2019

Post Comments

* marked fields are mandatory.