Note that this post is part of a series where I am ‘live blogging’ my way through the ministry of testing’s 30 days of Agile Testing challenge.
What is in my toolkit? What kind of tools do I and my team rely on and use to help us at testing? I recently got a new laptop and so maybe I’ll just go through some of the tools and programs I installed on it in the last couple of weeks as examples of the kinds of tools I find useful.
Version control systems are a part of most software development team’s tool kits. Knowing and understanding how they work and how to effectively use them can make them a powerful testing tool. I have been spending some time in the last few weeks learning more about how to read and parse the git log and I’m working on some scripting around it so that we will be able to glean data and insights about changes to our tests and the health of our automation system. Don’t just treat your version control system as a way to safely make changes, treat is as a way to get information.
Seriously, if you are a tester and if you haven’t yet tried it, you need to try out process explorer. As a tester you need to be able to understand what is happening with the various processes on your machine, and process explorer opens this world up for you in a way that Windows task manager can’t.
This little file search utility is another extremely useful program for a tester to have. How many times have you tried to figure out where your software saved something or if new files have been created somewhere? This powerful, lightweight search utility has pretty much instantaneous search results and has helped me out so many times. Another tool I would recommend every tester add to their toolkit
My text editor of choice is Notepad++. I have tried a few others and I have heard a lot of good things about Sublime text or Visual Studio Code, but so far I haven’t found them compelling enough to switch. Custom syntax highlighting. File comparison addons. Find and replace across many files. Regular expression search capability (if you are a regular expression kind of person). Some automatic formatting and auto-completion options. There are a lot of powerful and useful features in this text editor and yet is pretty snappy and lightweight. For the kinds of things I usually do, I find it to work quite well.
Is this a testing tool? Heck yes! It’s the most powerful tool in my toolbox. Now admittedly it’s a tool that takes some time and skill to learn, but once you’ve grasped the basics of it (and this applies to other scripting languages like Ruby), it let’s you leverage yourself in ways you never could have otherwise. There are so many one off simple tasks a tester wants to do and that you can’t find a specific tool for, but which you can accomplish with a few lines of scripting. For example we recently had a list of (hundreds of) files that contained specific commands in them and we wanted to run the corresponding tests for those. There is no tool that could do the conversion, but after 15 minutes with python we had a script that could help us out with this. Add a scripting language to your testing toolbox!
Sqlite is the database format used in the built in database modules that come with python, and over the years I have written a few webpages that use these kinds of databases. When trying to debug problems or understand what is happening as we add new features to the webpages, I find sqlite browser to be a very handy and powerful tool.
I have been using texter for years and I’ve come to depend on auto-completion of certain strings. With my new (Windows10) laptop, I finally got to the point where the lack of ongoing support for texter caught up with me and so I had to find a new utility. I’ve been trying out Phrase Express and so far it has been pretty good. It isn’t as lightweight as texter and to be honest, has a lot of functionality I don’t need or use. I would have preferred to have something with less features, but now that I’ve figured it out and gotten it setup the way I need it, it does a decent job. There are still some little quirks that I don’t like, but the value of being able to define certain keyboard shortcuts that automate some of my typing for me makes this program well worth it.
There are many more tools I use and rely on as a testers (for example I haven’t included any online tools in this list). A tester should have well stocked toolbox. What tools do you have in yours?