A Software Tester should know these tools and technologies
This post is an excerpt on the discussion that happened on the Test Tribe Group on “How many think Testers should be a little more technical and what bare minimum technical/programming concepts one should know.
We compiled the list of tools and technologies a Tester can focus to improve their skills.
Sundaresan Krishnaswami The tester has to have at least an elementary programming knowledge with a fundamental understanding of how software is built and run. If you haven’t learned to program, start small and learn continuously.
Lalit Bhamare A lot more technical, not just a bit. The more, the better, as elaborated below:
Monitoring production logs especially after deployments has benefits of its own. And if the tester does it regularly then there is a lot they can discover through those logs.
If as a tester, you are not yet doing production deployments then I suggest you to start doing it and make sure to check production logs (or logs on other environments for that matter). If for some reason, you do not own deployments then try to spend at-least one short session for monitoring your application’s production logs, every day. That’s what I mean by “Monitoring session”.
Monitoring sessions can also help you identify technical bugs, errors or warnings, which might not be directly affecting the end user but still warrant attention and fixing. It’s hard to identify such issues in regular functional testing which usually has
Refer this post for more details – http://bit.ly/2VmdmZ9
Poonam Khomane Tester should be Technical and logical. It will help to explain issues or bugs.
Kunjal Mehta Some of the technical stuff a Tester can learn
- OOPS concepts
- Flow of request in the infrastructure
- Build deployment and CICD
- What is the role of Apache and nginx
- DB schema
- Knowing tables affected on performing an action on UI
Just a few generic points not related to any domain in particular.
Shrinivas Kulkarni One of my favorite – tester should know how
Browser internals proxy. DNS,
Santhosh Tuppad Enache Technical – relating to a particular subject, art or craft, or its techniques
Amy Azazel As a tester one should gather as much as knowledge possible for whatever one is working upon. There isn’t any minimum technical or programming concept one should learn. Rather it should be let’s learn and explore as much as possible.
Hamza Bhamla It’s not just about technical but even now is the need for them to able to work on the management part too.
Just as technical understanding would help the tester understand the product a little more from
There’s a need for every tester to have the holistic approach – TechFuncMan (technical, functional and managerial)
Below are the things which I think a Technical Tester should be doing(List is what I could think of while I wrote. There can be surely more).
Will you guys mind adding more to this list or suggesting if something should be removed?
Here it is (in no particular order):
- Knows Different types of Testing. Knowing those at
coreI mean and not just being limited to one tool. Remember, if the use case / understandingis clear, one objective may be achieved using many tools.
architectureof his/her application
- By architecture I mean, what all technologies are used to form the complete application.
- What exactly each of those is doing.
- In what way they are connected to each other.
- How do they
- When a business user initiates a request, how the entire request-response flow works.
- Understands the logs, or at least tries to understand. There are several ways like Google the exception or error, past experience, asking a developer and
remembering, making logicalguess while reading and cross checkingwith Dev if your understanding was correct.
- Questions himself/herself why
particularissue is occurring while using all the logs available(front end, backend, web server logs, DB logs) whenever possible berorerouting to Dev. Same can be done in parallel if urgency demands.
- Requests RCA for the bugs logged. Asks questions till the time it is clear
- Explicitly asks for Impact area of the Bug fix/new feature
- Requests overview of how particular bug was fixed
- Requests overview of how the new feature is getting developed. Helps Dev to further assess impact area, better approach, etc.
- May not be
a expertcoder but if situation demands can code. More the better here.
- Always thinks of how to automate basic routine stuff. Something as simple as Build deployment or Executing Automation suite.
- Thinks of innovative approaches to test and still follows
- Does research about the new technology/jar/upgrade being taken and looks for information on open issues. Also on its compatibility with remaining Tech stack.
- Understands the value of automation, and decides what to automate and makes sure it is being automated right.
- If not fluent, decent with Database queries and is ready to learn on demand. Remember knowing everything is best but knowing basics/nothing and being ready to research as needed is ‘human’.
- Probably repeating, but an understanding of different types of Testing. For example, Security Testing. It’s ok if you cannot hack or find critical Vulnerabilities. But at least test for basic flaws like other customer data in export, URL tampering, open admin pages, easy guess passwords, XSS wherever you can, etc.
- Knows how to use browser developer toolbar for different purposes like checking response, request, response time, 404 errors, etc.
Whats your list of tools and technology any Tester should know?
Disclaimer: We have tried our best to keep the comments from the contributors as original as possible.
Special Thanks to the contributors of this post – Sundaresan Krishnaswami, Nish Ant, Nishant Pawar, Lalit Bhamare, Poonam Khomane, Kunjal Mehta, Shrinivas Kulkarni, Santhosh Tuppad Enache, Amy Azazel, Hamza Bhamla, Anirban Sinha, Anurag Raghuvanshi, Mahesh Chikane