TesterHQ - The Evil Tester Blog Aggregator

Sep 29, 2016 - 6 minute read - Evil Tester Tools

Adhoc testing of incrementally developed HTML and CSS

TLDR; Even simple changes can use step by step risk based development to allow multiple releases, and will require multiple levels of testing. My website is in a constant state of flux - that’s the benefit of writing it all by hand. Today I wanted to add nifty social media icons on the page because I hear tales that there is gold to be made from the contacts that come from such things.

Sep 28, 2016 - 4 minute read - Linkedin

You can improve your JavaScript skills and have fun at the same time

I’ve slowly been improving my JavaScript skills. But in a slightly unconventional way… Learning to code in the dim and distant past Back when I was growing up, I had a ZX-Spectrum, and a lot of the games were written in BASIC. So having, loaded the game into the computer we were able to ‘break’ and stop the running application to view its code. We could also change the code, so we learned to program by hacking the games we had bought and loaded into our computer.

Sep 27, 2016 - 1 minute read - IntelliJ Java For Testers

How to fix IntelliJ issues by looking in the IntelliJ log

TLDR; View the IntelliJ log Help -> ‘Show Log in Explorer’ I experienced an issue when importing maven projects. I found the answer to my problem on StackOverflow: stackoverflow.com/questions/26754344 ”…set Settings > Build, Execution, Deployment > Build Tools > Maven > Importing > JDK for Importer to Use JAVA_HOME…” The above solution worked for me. But it made me realise that it is harder than it needs to be to find what is going wrong with IntelliJ if you don’t know one trick - how to view the logs with IntelliJ.

Sep 26, 2016 - 2 minute read - Evil Tester Technical Testing

How to Use Chrome Developer Tools JavaScript Source Snippets

TLDR; With Chrome Code Snippets we can ‘run’ small chunks of code without using the console. And using a gist we can import and export them to a file. We already know that we can run custom JavaScript code from the console. I explained that in this blog post. And we can use Google Chrome Code snippets to re-use that code over time. By default we can’t import and export, but people have written helpful code to let us do that as well.

Sep 23, 2016 - 4 minute read - Evil Tester Technical Testing

How to use the JavaScript Console for Technical Web Testing

TLDR; learn how to use the dev console and basic JavaScript commands (for, do…while, if…then, variables) to automate under the GUI and augment your interactive technical web testing. I used to only use the JavaScript console in the Chrome Dev tools was for viewing JavaScript errors. But I read the documentation for the JavaScript console And realised that I could issue commands and view objects. And I slowly came to realise that I could use this to help me test better.

Sep 22, 2016 - 5 minute read - Evil Tester Techniques

How to Treat your Application as an API - "App as API"

TLDR; Look at what your GUI does. Automate that. And you’ve implemented “APP as API” A phrase I’ve found myself using in various training sessions is “App as API”. I think I’ve mentioned that in some previous blog posts but want to expand the concept here. Some applications provide an API Most applications provide a GUI When the application provides an API, I like to take advantage of that.

Sep 21, 2016 - 4 minute read - Evil Tester Technical Testing

How to write a simple random test data sentence generator

TLDR; I wrote a random test data generator, not a slogan generator On the Importance of Test Data We all know that test data is really really important. If you don’t have the right data, you can’t test the functionality. You can’t check that an email is sent out on the customer’s 65th Birthday unless you have a customer who has a date of birth that will trigger that functionality.

Sep 19, 2016 - 4 minute read - Evil Tester Technical Testing

Difference between hacking, cheating and automating?

TLDR; Hack for information. Cheating breaks the rules and introduces more risk. Automate the interfaces with less risk. Previously on “Evil Tester goes Hacking JavaScript Games” I demonstrated a ‘bot’ that could play ZType My bot cheated and automated shooting, I hacked The bot has been through a few iterations: 0 - every few seconds it uses an electro magnetic pulse and then gives itself a new emp, therefore having infinite emp devices 1- every 100 milliseconds it iterates through the letters available and shoots that letter watch bot 1 beat a human 2- fixes a bug in (1) so that it only shoots letters which are used on the level 3- once it knows what word is currently being shot at, it uses the letters in that word, but when it doesn’t know the word it shoots all the letters on the level 4 - only shoots letters on screen, every 10 milliseconds, either the start of a word then continues on the word 5 - only shoots letters on screen, which are the start of a word, then focusses on that word to shoot it to bits (doesn’t wait 10 milliseconds to finish the word) - 100% efficiency 6 - essentially bot 5, but only waits 2 milliseconds watch bot 6 in action The different versions represent ‘cheating’ or ‘automating’.

Sep 16, 2016 - 4 minute read - Evil Tester Technical Testing

Lessons learned from Automating - Instantiated

TLDR; take small steps when automating, keep your code working at all times, automate at an appropriate interface Working on a ZType bot reinforced a few lessons learned from automating that are important enough to draw attention to (again). Your Code can gradually iterate to improve You are allowed to stop improving the code Start simple to add immediate value Debug in small chunks Readable code is understandable Automate at the appropriate interface Your Code can gradually iterate to improve The bot has been through a few iterations:

Sep 14, 2016 - 6 minute read - Evil Tester Technical Testing

Hacking JavaScript Games to improve your testing

TLDR; Learning to hack JavaScript will develop the skill of automating using the browser dev tools console. For the last 6 months or so, I have, on and off, been learning to code JavaScript. That process has mainly involved: writing some simple games hacking other games to see how they were written I’m going back to the good old days when we could ‘break’ the ZX Spectrum game and view the source, or disassemble the games on the Atari ST and hook/hack them through debuggers and monitors.