Gotta love a tiny time save. What tiny time saves do you use?

Gotta love a tiny time save. They all add up!

What tiny time saves do you use to support your testing efforts?


It’s not strictly for testing, but, if I’m very busy I’ll use Pomodoro sessions - 20 minutes of work and 10 minutes of relaxing.


Text entry:

  • Pressing down CTRL, then A C V V, A C V V, etc allows you to exponentially fill a field with text until it can’t take it any more

  • Character map allows you to quickly copy unusual characters for pasting

  • Perlclip allows you to copy to the clipboard a string that includes all character codes from 1 to 255

  • Perlclip also has something called counterstring which is a string containing numbers of the position in the string, so 35710* means that the last asterisk is position 10. Useful to find the practical length of fixed-length strings, or the length of string which triggers a failure.

Windows shortcuts:

  • WIN + arrow key will maximise, minimise and move the active window
  • Printscrn will take a full screenshot. ALT-Printscrn takes a screenshot of the active window
  • WIN + D takes you straight to desktop, and back again afterwards
  • WIN + R to run programs
  • WIN + L to lock your screen
  • WIN + E opens file explorer. Also I for settings, V for clipboard history
  • Everyone knows Ctrl+Z to undo, but not everyone knows Ctrl+Y is redo
  • Alt-F4 closes the active window or asks for a shutdown
  • Win-. opens the emoji panel :sunglasses:
  • Ctrl-Shift-Esc opens the task manager
  • You can run stuff on the taskbar as admin with Ctrl+Shift+click

Some years ago I learned a new (German) keyboard layout, Neo-Layout.
Not really the rearranged letters, I’m still using its qwertz variante, but having the special characters, numbers and navigation keys below the letters, on their own levels.

Its now easier and faster for me to type them - no keyboard-overarching 3-4 key combinations to make a single symbol.
Like for capital letters, just the level mod key + key.

I was getting used to it fast as I just had to learn things in addition instead of changing (un- and learning again) some.

Level 3:
Level 4 (you can even ‘freeze’ that so you can type without holding a mod key) :

In addition I could drop finally the numpad for ergonomic reasons. Having my mouse less far right.
I’m using a MS Sclupt.


Whilst we’re on the subject of German (and apologies to German-speaking readers who probably dismissed this as old hat years ago), but I learned the ASCII extended character set shortcuts for the common German characters that UK kit doesn’t offer - ä, ö, ü, ß and their associated capital forms. Using ALT+[character code] (on the numerical keypad) I now find to be as quick as touch-typing on the main keyboard and enables me to effortlessly insert German place names in particular into my writing (which I do surprisingly often).

I forgot one thing, linking your phone with the PC can be a time saver, especially for those of us using multi-factor authentification on a lot of sites. I can just copy/paste the SMS or auth codes I get on the phone right on my PC. I’m using Windows Phone Link for Android, but I’m sure there are similar apps for Mac and iOS.


I have another shortcut for that: having a authenticator program on my computer.

I have no company phone and do not want to use my own.

Sure, its weakening the basic idea of multi-factor.

1 Like

Over the years I’ve created a collection of command line scripts (in Python) for various things. Rather than having to open a website or program, I can type in a command with some parameters, and result(s) are shown.

Note that I have Windows Terminal loading on system start up


On Windows I use a personal tool bar to have shortcuts to different folders.

This toolbar directs to one directory were I have short cuts to other folder or scripts.
The first directory is where I download all the test clients (each around 500MB) of our product from your Jenkins (by a self-written software).

Also I have linked some scripts I use frequently.
(Be aware of the difference between a short cut and junction / soft link)


As we have a complex product (server and rich client), with different branches, different project stages and complex CI/Jenkins structure I have developed my own tool to download and organize the rich clients we have.
It grabs and structures all available branches from our Jenkins. Per branch I either pick the latest or a specific number, download, start and delete it.

No more lengthy clicking on links to reach my target.


I tend to create lots of command line aliases. Stuff that I either use alot or forget.

E.g. gl cds me into gitlab directory. Or sz to source my .zshrc


I like to use Launchy.
I just need to press Alt+Space to pop up a little window and then enter commands. For example “Jira 12345” would open issue 12345 in Jira. As well as URL shortcuts, it is handy for batch files as well.

I did develop my own version of Launchy called Alfred that used SDKs and automation hooks for my software so I could get a quick dump of certain types of items in the DB, pull up log files and so forth.


Learning to use the Rails console has been a big game changer for me while testing on a Ruby on Rails project, especially now that I work on a primarily backend team without a UI to play around with.

I can create and edit data very easily, set off jobs or rake tasks whenever I need to, and find the cause of bugs by running through the code a line at a time in the console to see which line breaks. It’s just really nice. :3

Something small I learned this week was mapping ip addresses to easily-remembered names so I can ssh into servers without having to find and copy paste the addresses every time. xD


AutoKey and TaskWarrior

Using AutoKey for snippets of text that I use all the time. For example, I need to timestamp notes in markdown often. I have time; expand out to ## Monday 06- 10:41. That’s the lightest version of it. I also keep a bug template under bug;. Just type out the trigger and it automatically gets replaced.

TaskWarrior because I was spending so much time in heavyweight kanban guis just to try and manage my work. It was slow and tedious. TaskWarrior puts everything at the command line. While there is a ramp up to getting it working well, it’s super powerful and always there when I need it.


Also Guake Terminal. This one is so embedded in everything I do it’s basically transparent to me and I forgot about it.

Guake is a Quake style, drop down terminal that I have load up on login. It’s bound to F9 on my systems. Instead of launching a new terminal as needed or always having one open, I just hit F9 and it drops down or rolls up as necessary. Clean and easy without another app icon cluttering my dock.

Since all my systems are Linux based, I also have a config folder that syncs automatically to a github repo across all my machines. It allows me to quickly set up a new system with my preferred software and all my config files.


Getting to know some of the UNIX tools (e.g. tr, sed and awk) a little more intimately, using them in preference to things like notepad++. These are things learned by osmosis and quickly forgotten if not used frequently.

Microsoft Power Automate and macOS Automator* are also nice little time saves. For example, if I’m on a project where I frequently have a big bunch of the same terminals and web pages open, I’ll automate the task.

  • Though it looks like Apple are trying to usurp Automator with Short Cuts, the single most confusing automation tool I’ve ever attempted to use. Quite how a tool can simultaneously treat you like a simpleton and be so hideously complex in beyond me.

I have a little Git script which fetches incoming commits and looks for different files matching patterns so I know if a have to do a specific task when I build and install a new version.
Specially is this a database migration which is not always necessarily.
And it’s easy to judge if no migration is needed.


	migInc = "!git fetch; git dbInc; git clInc; git migFilesIncoming; read -p 'Do you want to pull y/n? ' -n 1 -r; if [[ $REPLY =~ ^[Yy]$ ]]; then git pull; fi;"
	currentBranch = "!git rev-parse --abbrev-ref HEAD"
	dbInc = "!echo DB-Project; git diffOnlyNames | grep DB-Project"
	clInc = "!echo DB-Project2; git diffOnlyNames | grep dbproject2"
	migFilesIncoming = "!echo XML-SQL-CSV; git diffOnlyNames | grep -v -e pom.xml -e specificFileName | grep -e xml -e sql -e csv"
	diffOnlyNames = "!git diff --name-only $(git currentBranch) origin/$(git currentBranch)"