When creating automated UI tests for an application that is build with the Google Web Toolkit (GWT), it can be quite annoying to have to deal with the HTML IDs the framework automatically generates. Those usually start with x-auto-, followed by a number.
To remove all automatically generated IDs, open the browser dev tools and run the following snippet in the console:
I got invited by the organizers of the Agile Testing Days (#agileTD), to join the CFP Review Committee for the 2022 edition of the conference. Since #agileTD is my favourite conference, I of course said yes. The whole process and the collaboration with the organizers as well as the other committee members went pretty smooth, nothing special to report here.
The programme of the 2022 edition was published on May 17th and triggered quite an amount of reactions on Twitter. Of course, a lot of joy among the people who made it into the programme. On the other hand -as per my perception- a lot of disappointment and frustration among those, who did not make it into the programme this time. Especially among those who got positive feedback about their submitted abstract.
Let me explain how my participation as a member of the review committee looked like: Via a tool, we got the abstracts and could review them. The abstracts were anonymized, and whenever we recognized the author anyhow, we could let the organizers know, and they assigned the abstract to another reviewer. We then rated the abstract in different categories and also provided written feedback. The #agileTD team even had given some „Bad (Don’t do this)“ and „Good (Please do this)“ examples for this. Here I can of course only speak for myself; I explicitly mentioned the good and not so good things in each abstract, and tried to give explicit reasons for both. What I did not do is, to provide ideas improvements, as I don’t see that as responsibility of my job as reviewer for a conference programme. Exception: Unfortunately, I had some really really poor abstracts, consisting of only 3 lines of text or the like. Here I suggested that the author seeks for help in the community, and gets his abstract reviewed before submitting again. For abstracts where I thought they deserved to be in the programme, I mentioned something that the abstract is good, but needs to be compared with other proposals in order to make it into the conference.
This is, were my contribution as a reviewer ended. How the organizers of #agileTD went on from there to build the programme, is not known to me. However, back in January 2020, when I myself was making some serious effort on getting accepted at a conference, I had asked on Twitter, „what other factors than the submitted paper go into the decision of accepting/ declining a talk?“. And I got quite some replies. Especially Richard Bradshaw from Ministry Of Testing listed a lot of factors that go into the decision. Uwe Gelfert, from the organizers of #agileTD confirmed that it is similar for their conference.
Conferences want to have a certain balance of speakers. Balance on different levels.
This means location of speakers: Local vs. international. Especially speakers from abroad can be quite a cost factor in terms of travelling costs (in case the conference is covering those). It also means gender and BAME (Black, Asian and Minority Ethnic) representation: Luckily, lots of conferences nowadays really do a lot to have a diverse lineup. Although that means a higher rejection rate for the most overrepresented group in tech: Middle aged white men (yes, I am part of that group as well). Also, conferences might want to have a certain balance between new and experienced speakers. Also knowledge about a person’s on-stage-performance might matter; so if you have, provide links to recordings of your previous talks.
Of course the topic of the abstract matters as well, but mabye it doesn’t fit the conference’s this year’s motto well. Or your abstract might be good, but there’s a (slightly) better one with the same or a similar topic.
Some conference organizers also look, how active the person is in the conference’s community (Slack, Twitter, Forum, etc.).
I hope this helps to understand better why your submission might have been rejected, and that there’s way more factors to it than only the quality of the handed in paper itself.
What is this and why did you agree to do a double multi self retro?
The end of the year, and especially the time between Christmas and the beginning of the new year, always has been a moment where live is less stressful, I step back, take some days off and enjoy time with the family. What better occasion could there be, to do a retrospective? I was thinking about a self reflective blog post for a while already, but didn’t really feel motivated enough to do it, but reading and enjoying those from others made me want to write my own.
What did you think your goals were when you started the year?
I’m usually not setting personal goals or making any resolutions for the new year. Beginning of last year was quite different. I had started a personal coaching with Deborah Preuss to finally overcome my procrastination. That coaching was still ongoing when the new year started. So overcoming procrastination was clearly a goal set.
Also, I wanted to become a „real“ conference speaker, especially at Agile Testing Days (#agileTD). After having spoken at some smaller local events, and even being lightning speaker at #agileTD twice, I now wanted to „the real thing“.
I got a first tattoo on my right forearm in November 2019, and wanted to get tattoos all over the arm.
How did your goals change through the year?
Not so much actually. My financial plans changed, so I only got a second tattoo on the right forearm. After this whole pandemic thing started, I wanted to somehow survive that and manage working from home with a certain discipline, which worked out pretty well I think.
How did you recalibrate in the year, when things changed?
I started working from home in mid March. I quickly figured that needs some discipline. Working from home for me has one huge advantage: It saves me about 2.5 hours of commute per day. So I had a lot more time for doing things I like: Spending time with my (closest) family, learning, reading, …
I also started participating in the #100DaysOfMove challenge, and now I’m doing sports nearly daily. Not sure that is caused by the pandemic, but it for sure was a mayor change for me.
Highest point of the year
Getting accepted as speaker at Agile Testing Days!
Lowest point of the year
No specific low point. But the last weeks I’m feeling more and more exhausted. For me this pandemic could be over yesterday. I’m more emotionally touched by things I usually wouldn’t care much about. I’m usually not a winter blues person, but these very short days with only very little sunshine are killing me this year. Bought a daylight lamp ~ 10 days ago, that seems to boost my mood and motivation a lot.
Which item of clothing have you worn the most?
Hoodies. Not a specific one, but I have at least half a dozen of them, since they’re my prefered types of clothing.
Have you discovered any new tools?
I discovered Bullet Journaling, which helps me a lot overcoming my procrastination.
I had a 32″ curved screen on my wishlist since like forever. Working from home finally gave me the justification to get one. A really great investment. I can handle 4-6 windows on one screen, allowing me to switch between them easily or monitoring them at the same time.
Best coping mechanisms
Actually, none. Whenever there was something „bad“ caused by the pandemic (well, luckily nothing really bad happened to my loved ones or me), I told myself of how much I benefit from all the extra time because of not having to commute.
Did any songs help you cope with the year?
No song in particular.
TV shows that helped you cope
None. Although we got Netflix in March, and spending quite some time watching various shows and movies.
Who is your favourite new friend of 2020, and why is it Mira?
After the example given by many others from the testing community, this is the tweet that it all started.
Shortly followed by:
I didn’t reach out to Mira to become her learning partner, the tweet was just an idea. But we exchanged some DMs, and started to have calls every second week, and it’s fantastic! Sometimes discussing prepared topics and sharing experiences, sometimes talking about things going on in the community, tweets & articles we read, and sometimes just chit-chat. It always feels a bit like conference spirit.
Who is your favourite new friend of 2020, and why is it Stephan?
I met Stephan long time ago at Agile Teting Days, don’t recall when exactly, but both of us are going there for about a decade now, so potentially it’s quite a while ago. This year brought that friendship to a new level, since he did such a great job in moderation my #agileTD session.
Who is your favourite new friend of 2020, and why is it Chris?
I met Chris during one of the wonderful online testing meetups organized by Alex, Bart & Huib. And what should I say, how can’t you become friend with another „Back to the Future“ fan who has the same nickname as you?!
Who is your favourite new friend of 2020, and why is it Bruce?
Unfortunately, that’s friendship still to be made. But following each other on Twitter is a good starting point I think.
What’re you hoping to Get Done next year, even if it’s another 2020?
Still being committed doing bullet journaling and some sport everyday.
What have you learnt about yourself this year?
I can overcome procrastination!
Having the right tool(s), I can change my habits quite succesfully and build new ones.
What have you enjoyed?
Lots of family time, online conferences, being a conference speaker.
What advice would you give to past you from January 2020?
Disclaimer: This is a quick brain dump, in order to have this thoughts stored somewhere to not having to retype this everytime I’m involved in a discussion about the topic. I might develop this into a full blog post one day. Nevertheless, happy to hear your opinions on the topic.
These promises of codeless record & playback tools are around for 20+ years. Imho, there two (or three) possibilities:
You code the stuff yourself, using a real programming language + frameworks/ tools. Imho the most powerful option, but of course also the most to learn/ master. This basically is programming.
You abstract all the complicated stuff away, to an extreme that also non technical people understand it, but you loose most of the power and possibilities of 1.
You hide the complicated stuff behind a fancy UI, that looks shiny and easy to use in their demos, but if you want to do something that goes beyond the happy path, you still need to know & understand programming concepts. So although these tools are marketed at non-coders, the target group cannot reach the full potential of the tools.
Hey parents, asking for advice. My kid and I spend time until his bedtime at 8 pm. Then I would have time do read/learn/do stuff, but most days I'm too tired and end up with Netflix. How do you motivate to get stuff done in the evenings although feeling tired/unmotivated?
Let me give some more context about this, since I summarized and simplified to fit it all into one tweet: I am divorced, and my 8 year old boy is with me every fortnight. For the weeks he is with his mother, I’m quite good at the „being productive“ front, I get enough stuff done. But since he is with me only „half of the time“, it’s very important for me to be with him, and spend time with him when he asks for it. If he’s busy with something on his own, I’m happy to let him be. But if he asks me to do an activity together, I only rarely deny. Netflix was just an example everybody understands without further explanation. Could be as well reading a fantasy novel or scrolling through Twitter or whatever.
Following the condensed advice & tips I got from the replies:
It is ok to not always be productive all the time and it is ok to rest. You shouldn’t feel about that. It is also ok to not spend 100% of your time with family and kids, but to also have some time for yourself, where you do what makes you happy, what you need.
Figure out what is your peak moment. Are you an early bird or a night owl? Adapt your schedule accordingly.
Try to change some things, for example use breaks at work to do some reading. Go to another place than home to be productive. Although it may sound counterintuitive, do some sports to boost your energy level.
Figure out, if it’s inertia, or if you’re really too tired. Make sure that you have enough sleep to not feel tired. To get over inertia, just start, just do. If you’re really too tired, it’s ok to rest.
Consider that there are different ways of „being productive“. Look for things that are more fun than Netflix, things you are passionate about. Choose your activities according to that. If your brain is too tired for certain activities, watching conference talks on YouTube can be a good choice. Also, keep easy tasks for when you’re tired.
Write down and prioritize what you want to do and achieve, this way it’s easier to decide what to do. For bigger tasks, it helps to break them down. This way you can see better, what progress you’ve made.
A lot of people mentioned habits, for example to reward good habits (allow yourself for an episode of Netflix, after you’ve worked for an hour. You should build up habits, then you can rely on them, rather then on motivation. To help you with that, chaining or habit stacking can help (The latter is explained in „Atomic Habits“ by James Clear).
In one of my current projects, I’m using Postman to check an API product which is used by multiple clients, where each client has its own URL and specific test data to be used. It’s about a dozen postman collections (each modelling one specific use case), and those need to be tested for about 20 different clients (number is constantly growing).
For execution in our continuous integration server, we’re using Newman (the Postman command line runner). You install the newman npm package, export the collections and environment files from Postman to your hard disk, and then can run the postman checks on your command line, or on a CI system.
A Newman command basically looks like this: newman run "collection.postman_collection.json" -e "environment.postman_environment.json"
So telling newman to run the collection collection.postman_collection.json using the data from the environment file environment.postman_environment.json. Pretty simple and straightforward.
But remember, I need this for about 12 collections for 20 different clients. Also, each client has a sandbox, user acceptance test and production environments. In addition, the commands are slightly different in my local Windows machine, compared to the CI server, which is running on Linux. 12 collections x 20 clients x 3 environments x 2 operating systems = 1,440 commands to be written! That’s quite a lot!
So I’m using a spreadsheet to generate the commands, since this is something that can be done pretty easily with formulas. A simplified version of my spreadsheet looks like the following:
Column A holds the name of the collections (without the “.postman_collection.json” extension)
Row 1 holds the name of the postman environments (without the “.postman_environment.json” extension)
The formula in cell B2 is ="newman run """&$A2&".postman_collection.json"" -e """&B$1&".postman_environment.json""", which is the very same as the basic Newman command I explained earlier, but it is pulling the value for the collection from cell A2, and the value for the environment from cell B1. The $ signs are telling the spreadsheet, to not change the value followed by it, when extending the formula to other cells. When extending the formula to cell C2, we still want to get the value from A2 as the environment. I then can easily copy the commands from the spreadsheet and paste them into my command line window or wherever I need them. The example spreadsheet is available here: Spreadsheets to create test execution commands
Hope that this might help anyone out there to maybe save some manual work and would be interested to hear how you are using spreadsheets to ease your lifeas a tester (besides from putting your test cases in there).
Yesterday there was another meetup with Alex Schladebeck, Huib Schoots and Bart Knaack, where I again participated in the lean coffee facilitated by Alex. Jesper Ottosen raised the topic of „visualizing test strategies“. Since I found that topic pretty interesting, here are my (quick) notes I took during the session, for later reference.
Mirjana Andovska is creating one page test strategies/ plans, that generally „should fit into one page“, containing answers to questions like „What type of questions are answered by which (types of) tests?“, „Which problems are being solved by doing this?“ and „When are those tests run?“ She also proposes that for reporting one nowadays can easily pull data from different sources (eg. Atlassian)
Jantien van der Meer is neither creating lengthy documents (never be read) nor mind maps (not everybody like them). She says that very often architecture diagrams of the system already exists, but usually not detailed enough as you would like them for testing. She draws similar diagrams, especially containing the things relevant for testing (eg. interfaces), then highlights those parts and shares the drawings. Jantien mentions Sonarcube and pipelines as additional sources to pull data from for reporting.
Alex Schladebeck recommends to ask „Who’s it for? Who reads it? What info do they need?“ and proposes that different versions might be needed.
For the second time during the corona lockdown, Alex Schladebeck, Huib Schoots and Bart Knaack organized an online get-together for testers. They offered and facilitated various activities, and during the last session, I participated in the lean coffee facilitated by Alex. I was quite happy that one of my proposed topics got selected, but before getting to the details of the discussion, let me explain some background:
About 14 months ago, I joined Finologee as a Senior Software Tester. The role is pretty technical, with a strong focus on technical automated tests (checks). The most technical role I ever had in my 15+ years of being in testing – and I absolutely love it! But: It’s also very challenging, which as such is not a problem – I love challenges! It’s so many new frameworks, tools and other various technical things to discover and learn!
I think compared to most software testers, my technical background is quite strong: I did a 3 year traineeship as application developer (german “Fachinformatiker Anwendungsentwicklung”), studied informatics and during my career my focus has been test automation most of the time.Nevertheless, in that new role I feel overwhelmed from time to time: What is that framework for? How do I configure this in Maven? What does this method do? What is the most elegant way to solve that problem in code? And so on…
Quite often I’m searching Google and Stack Overflow for solutions to problems, that probably others have solve a thousand times before – or not. But I don’t want to spend hours looking for something, where there is probably good solution existing and I’m just not finding it because I don’t know the right terms to enter into that search field. Because one important lesson I learned is “to reach out when stuck!” (shoutout to Deborah Preuss), after an unlucky search on the web, I enter my question into our company’s #dev Slack channel, and most of the times, I get a sufficient answer really quick.
Problem solved, end of story – one might think! But everytime I ask a question there, I’m asking myself: Is this a stupid question? Should I have known that myself? What will the developers think of me for asking such a “stupid” question? And this is not really making me feel good.Yes, I know, being a software tester and being a programmer are too different roles, with somewhat overlapping, but still very different skill sets. So there’s no shame in not knowing everything, in not being as skilled in programming topics as programmers are. Still it is bothering me way too often.
So I was happy that my proposed topic “How to not feel ‘stupid’ because as a testers we don’t have the same skillset as programmers?” was discussed during the lean coffee session. Following things have been discussed in order to overcome this:
Find a mentor
find one person in the company who mentors you
it’s not “embarrassing” if you’re officially mentored and asking something compared to asking your question in a slack channel with every developer
Embrace the fact you have „gefährliches Halbwissen“ (knowing just enough to be dangerous)
it might be enough knowledge about a tool/ framework to get done what you need to do at the moment
Embrace that you have different skills
Testers and programmers have different skill sets, both are valuable
You probably know more when it comes to testing, and programmers can learn about testing from you
You’ve been hired for a reason
The company hiring you did see something in you
They have seen other candidates, and decided you’re the best to get the job done
Embrace what you don’t know
It’s ok to not know everything
Pair with people
It’s a great chance for learning.
Even if you don’t know much about the code, you will learn something.
Also the programmer will learn by the questions that you ask