Software testing is a challenging job, and that’s exactly what makes it so interesting! In order to keep up to date with the latest trends and tools in testing, Quality Assurance engineers need be constantly challenging themselves and learning from different situations in their daily tasks.
In this post we will explore a list of suggestions and ideas that may come in handy to help you improve the way you work and to improve your own skill set.
1- Programming knowledge
It’s basic to have programming languages, data types, search and sorting algorithms konwledge. This will help you understand how an application is written, what constraints you may find, what downsides can be expected from it and some issues that might not be really common but that you need to be aware of. Also, by having this programming knowledge will be really useful when the moment of designing an automation script comes.
Tip: Take an introductory course in programming and learn the basics of coding.
2- Environmental analysis
It’s important to have a big picture overview of the project, and at the same time be particularly sharp-eyed with quirks, weaknesses and special features of each different operational system. This will save you lots of time as you will know where to look for bugs instead of just searching with no clue where they might appear. Relying on luck it’s just a waste of time and resources.
3- Model software using diagrams
Using diagrams to organize and plan the testing of a complicated or high-risk feature may be very useful. One example is mind-maps applications.
Check out FreeMind in www.mindmup.com, an online cross-platform Java tool to create mind maps that doesn’t require installation.
4- Database basic knowledge (HTML, XML + XSLT, SQL)
Mastering at least the basic concepts of SQL is vital to test any application that uses a database.
Tip: Google some examples of SQL and XSS injections and create you own list to check. This is a quick way to easily do the basic security testing of a field.
5- Risk Analysis
When planning testing, whether it’s a long term plan or a short one for a single test session, you’d better try to keep in mind the risks involved with the features under test. It helps you organize your time and efforts and gives a quick feedback on the riskier parts that may compromise the functionality of the product.
6- Improve your language Skills
The better you know the language, the less time you spend reading requirements and articles about testing and the domain where the application is intended to work on. This way, you can simply focus on enjoying testing.
Remeber that most of the information you’ll probably need is only available in English, so you’d better learn to speak the language properly.
7- Useful text editors
- Notepad for Windows
- Text editor for Linux
- Workflowy.com on-line tool. It requires no formatting except for the list structure and URL automatic underlining. Easy to navigate, supports tags and search. The downside is that it only works on-line and it won’t replace Notepad.
8- Automation test tools: Eclipse/MS Visual Studio
Both are free, easy to configure and can be used to write any automation test you need.
- Qtest explorer: an on-line tool that allows you to create, run and administrate Test plans, test cases and test runs. The tool also keeps track of bugs and requirements. Although it’s not free, you can get a free 30-day trial and then purchase the full product if you’re satisfied with it.
- MS Excel or LibreOffice are useful to keep test documentation (checklists, test cases, test matrices). They’re also great tools to process and generate test data if you test software that can receive input files instead of multiple input fields.
10- Attitude it’s crucial
- Be critical but do not criticize
- Learn to question, but also learn to explain.
- Always use the best methodology ever invented: “Common Sense”. Then choose your testing methodology.
- Build a good relationship with the developers.
- Think about as many different perspectives and solutions to a problem as possible.
- When reporting something, try not to be seen as the enemy. Try blaming on systems and applications rather than individuals. And always stick to facts, not impressions.
- Learn the difference between Severity and Priority.
- Don’t repeat yourself. Don’t repeat the same actions, don’t follow the same path, the same order. Change your habits, innovate every day.
- Respect programmers, designers, product owner and everyone involved in the project.
- Learn how to use the command line, a scripting language and become an Excel power user. Functions, logic and conditional formatting can all be used as powerful analysis and testing tools.
We hope you find useful these tools and tips for a better testing. The testing phase of software development often gets the short shrift by developers and IT managers. Yet testing is the only way to determine whether an application will function properly before it is deployed! Download our whitepaper Agile Software Testing to get an overview of the whys and hows of Belatrix‘s software testing approach