listeningTo: The Addams Family
inRealLife: It’s fall! And I’ve officially been pumpkin picking twice already, planning to carve today. I love spooky season.
We had a MASSIVE platform release last week which called for lots of overtime hours. It was a few months in the making, definitely nail-biting near the end, but at the end of the day, we are up and running on the recent version of Symfony in addition to many other important tech upgrades. While it wasn’t the most flashy release we’ve done, it was definitely one of the more vital in combating the never-ending list of technical debt we have built up, which is a great feeling.
And, to follow up, somewhat, on the last post’s topic – career stuff – I recently found out that, after more-or-less asking for some more responsibility, I’ve been named tech-lead on a large WordPress migration project we have going on for one of our WordPress sites, but, also, all the other sites (a total of 3)! It’s been a hard time for me, personally, and I’ve been feeling pretty defeated, but the opportunity came up, and I decided to practice what I recently preached and went for it. I am SO excited to tackle this thing and prove to myself I can do this, and more.
whatIReadThisWeek: I’m in a reading rut, which is unlike me as I usually get through at least a book a week. I’m sure I’l get back into it.
Tech-wise, I have been reading a lot about exploratory testing ideas and mind maps. When I first started considering my next blog topic, I thought the two would go hand-in-hand. I still think this, but I decided to focus solely on mind maps today. There is so much cool info and ideas floating around my head I think they deserve their own posts. If you’d like to read along:
- Elizabeth Zagroba via MoT Dojo: How to Use Mind Maps To Develop Clarity With Your Software Testing Strategy
- SoftwareTestingHelp.com: Mind Mapping in Software Testing
- Dragos Campean: Mindmapping in Testing Activities
whatILearnedThisWeek: I have definitely heard of mind maps before, even saw the phrase tossed around in various testing-related research I’ve done, but I never really knew why people used them, or how they corresponded with testing practices. They look nice and organized, at least as organized as a scattered bunch of words can be. The resources I read this week have helped shape a pretty good definition of what a mind map is actually intended to be and gave me lots of inspiration to create my own.
I was under the impression a mind map was something you wrote down during brainstorming (mind > brain, you know?); however, I found mind maps to be much more orderly and thought out than typical brainstorming notes. To start, I was really looking for a definition of what a mind map was. The examples I found all looked differently and had different levels of detail, but some of the qualities all mind maps shared were a very focused, organized, attractive organization of whatever topic the map was being used for. Elizabeth Zagroba explains mind maps as “smaller, prettier, more focused” than a stack of text-heavy documentation; SoftwareTestingHelp.com defined them as “a graphical representation of ideas and concepts”; and Dragos Campean simply explained they are “a diagram used to visually organize information”. None of these definitions are terribly scary or overwhelming, so why was I assuming this was some high-level, complex project likely out of my scope?
Now that I wrapped my head around what these things are, I was interested on seeing all the examples of how software testers use these products to help facilitate their tests or their jobs in general. Zagroba succinctly says a mind map just provides an overview of the whole product. Okay, this makes sense to me – my application isn’t extraordinary big, but we have a lot of moving parts. On the product management side – which we all know I’m still somehow involved with and we’re not at all bitter about it – we often create visual flow charts for explaining how complex features work or explain how our APIs talk back and forth to other APIs. Mind maps, then, can just be a really big flow chart for the whole product. Cool.
I had a vision – I was staring at a huge mind map that for some reason I printed out and tacked up to the wall of my home office despite not even having a printer let alone one large enough to print a, literally, wall-sized map. I could see each teeny tiny section of my site represented. And I could see, in my mind, tiny automated changes occurring in the branches when thinking about introducing a change to a specific feature. “Oh, you want to add another required field to the member registration form? Look at the “member profile” branch rebuilding a la Game of Thrones intro style. I’ll need to make sure positive and negative form testing occurs here, and here, and here” and I traced that branch from the member registration branch out. The implications were terrifying and I had immediate anxiety about all the times I thought I remembered to test everything when introducing a tiny change and maybe (probably) I hadn’t. When the hallucinations and anxiety passed, I whole-heartedly decided a mind map was in my future.
It might be fun – at least that’s what SoftwareTestingHelp.com would like me to think. It “increases creativity” which is an alluring thought. I consider testing in general a very creative process, despite it being fairly technical and sciency. My test plans are boring, though, and my documentation probably has never been read by anyone but me (and my boss, as I’ve learned). As I was having the thought, I read Zagroba’s point that a mind map can “help you share information with your team”. Of course! No one will ever read my test or feature documentation, but I know our flow charts go over very well with the non-technical team, and it is definitely worth a shot.
whatIAmThinkingAbout: Back to hallucinatory-Amanda for a second – imagining my mind map encompassing the entire wall of my office – I start to wonder how big they end up, or, more interestingly, how small they can be to still be beneficial. What if I didn’t map my entire project, but instead just map at the feature level? I think it would be less useful when trying to determine everything a code change could effect, but I think it could very extremely helpful when writing test cases and QA plans at the individual feature or even case level. Similarly, since I have to wear my tester and project manger hat at all times – could the mind map be created at the feature planning level, and then updated and reused when it’s time to test the thing? I have big plans, I’m excited to try generating some of these things.
recommendationsAndTakeAways: I wrote a few months ago about really wanting to dive into a persona-writing project, and, of course, have not found the time yet. I’m thinking of marrying the two ideas and coming up with a mind map for a few specific personas. I’m not sure how this will work, and I’m thinking maybe it will be better to not try and get too fancy my first time out, but, why not?
I don’t have any recommendations since I really only just understood what these things were the last few weeks. Once I put it into practice, which I’d like to work on this week, I’ll hopefully have some more recs.
Part 2 of this post will focus more on exploratory testing – a concept I have heard MUCH about and have, embarrassingly, never actually participated in. Does that make me less of a tester? Probably. Does it sound just as fun as making a mind map? It does! Will I make my life even more complicated and try and marry a mind map based on personas from an exploratory testing session love-triangle style? Yeah, most likely.