What can you do about improving the coding when you are a test manager?

@KingaTest

The idea for this post came up recently on the quite fruitful meeting, on which it was discovered that the code quality in the project is quite good, according to tools the team is using – is impressive and looks ‘green’ ๐Ÿ™‚

On the other hand, when we’ve analyzed the other code metrics – it turned out that the cyclomatic complexity is not so great.

If you are not familiar with the term, cyclomatic complexity is used to measure the complexity at the class or the method level. It is a quantitative measure of the number of linearly independent paths through a program’s source code. It helps to keep the code in as testable and maintainable way as possible, by indicating unnecessary complexity.

Example taken from https://craftofcoding.files.wordpress.com/2014/11/cyclo_complexity.jpg

In the project, I am thinking of, the complexity goes up, completely unnoticed. It may mean that there is no one in the project, who pays attention to the overall coding progress and its’ quality. Developers to their job, use Sonar Cube to check their recent changes and when no bugs are discovered, they are happy with the result.

https://thewarrencentre.org.au/wp-content/uploads/2017/02/must-cat-yarn-960×447.jpg

The question is – what can you do about the code quality when you are not a developer? There will be always a person, who claims that he knows better and in fact, you know nothing about the coding.

Our simple answer during the meeting was – you can check the metrics and then talk to people who can do something about the coding quality.

Is it always possible? Only in the projects where all of your code is covered by good metrics, which measure something and when your team write unit tests that test the code – not to pretend that they do ๐Ÿ™‚

Each project is different and each is a challenge for both – developers and the testers – but every time you wish to improve the quality – it is possible.

Testing management is still quite a big unknown for me, but I still try to act like a tester but behave more like a manager.

I spend some time every day thinking of how to test differently, explore, how to x-ray the code to get more information about vulnerabilities and flaws. What helps me out? A set of tools that I use on a regular basis – they may not be always associated with testing, but I found them very useful – from a management perspective.

The first one is Jira plugin X-Ray and the second is SonarQube. I am sponsored by none of them, I just find them ok and worth to use.

X-Ray turned out to be a nitty-gritty tool when you use Jira daily. It just adds value to your work. It gives the opportunity of managing all test cases, not only the automation but the manual ones as well – all in one place, with pretty visual reports. I like it, my bosses like it, you should try it.

I’ve also discovered, that SonarQube may not necessarily be just a tool for developers, but also useful toy for the quality manager. I check Metrics and Activities tabs and look for points for improvements.

I don’t mean spotting the obvious errors or bugs – I mean rather mean hunting for vicious code in the project and implying the constant need for improvement.

If you have anything to to with the test management or quality assurance as well- I recommend this short exercise for you every day: start your working day from a short trip around different metrics – nightly builds, code coverage, cyclomatic complexity and so on. I guarantee that every day there can be a discovery that you can later address to improve the quality and stability of your product. If you tend to forget the obvious, as I do, make yourself a reminder in your calendar. It will help you structure your work and do better every day.

Managing, checking, metrics blah blah blah – “Do you fix it on your own, girl?” hahaha.

Here comes this harder part of the job – when you approach people and kindly ask for help or advice. I think that testing, managing or whatever is always about talking to people and working for the same goal – good quality. So the reports themselves or improved cyclomatic complexity won’t make your project better or worse – the point is what would you do about them and what you can achieve as a team. But this is a completely different story ๐Ÿ™‚

If you would like to know more about tools that I use or if you have a better tool to recommend – just let me know in the comments section below or on Twitter.

Advertisements

TestingCup 2019 – my biased summary

The best gift ever!

Last two days I’ve spent on a Polish testing championship and conference – TestingCup 2019 in Poznaล„. This event is one of it’s kind and gathers a lot of testing enthusiasts, who take part in the competition to prove themselves and be announced the Testing Champion. I took part in the competionion in 2016 as a member of a fantastic team, so I still remenber the pressure and emotions connected with the competition and results announcement. It was an amazing event for me.

I’m selfish, so about me at the beginning

Surprisingly, this year I was offered to be a keynote speaker on the conference. I had never been a keynote before, so I was extremely insecure and hesitated a bit if the opportunity is for me. Nevertheless, I took the challenge, and since January I was preparing myself to give THE presentation.

I was terrified by the size of the room

I was not alone, I got strong support and mentoring from this year’s TestingCup program chairman – James Lyndsay – who was a receiver of my moaning that I was gonna faint on the stage or just run away. Thank you James for being there for me. ๐Ÿ™‚

I felt a huge pressure and expectations. “This is a keynote speaker”. It was not helping, but still we are the hardest judges for ourselves. Fortunately, I had a group of supporting people around me, something that is unique for the Polish testing community. I received a lot of support and friendly cheering, from people who know me for some time and from the testers, I’ve just met during the conference.

In the end, I did not faint, I was talking in the room filled with people and just few of them left during my presentation or were dramatically jawing ๐Ÿ™‚ Some of them could even have fun during the talk, I guess ๐Ÿ™‚

What about the conference?

460 people. This many participants, can you believe it? Most of them took part in the competition! Kudos to you guys, great job – not only for this year winners – DirectPL Continuation and Jakub Konieczka. One of the Capgemini teams – with a graceful name die Plausibilisierungen (#Capgemini #GermanForLife) :D:D:D – got their own victory as well! I am so proud of my folks!

It is not surprising, that most of the people go to TestingCup just for the competition – not the conference. It was visible during the talks. Rooms were not filled with people, who preferred to chill after the bug hunting, not to listen. On the other hand, some of the talks were great and worth mentioning, especially that they were given with hard technical conditions – e.g. with broken projectors and not working microphones ๐Ÿ™‚

I’ve found people who found bugs

One of my favorite, and assuming basing on rating in the conference’s application, one of the best during the conference, was “House made of glass – how to live in the IoT era of wiretapping” by Marcin Sikorski. The subject is great and there is a lot to say about our reality filled with IoT devices. Marcin is also very passionate speaker, so it was a pleasure to be there and listen.

Conference speaker in his natural environment

We had also a privilege to hear a keynote talk by Maaret Pyhรคjรคrvi – “Testing in the intersection between Automation and Exploration”. We’ve learned that exploratory testing is not only a part of manual testing, but could be a must in test automation as well. It is always great to listen to Maaret, her incredible knowledge and experience in software testing is something unique.

Maaret on the stage

I need to mention unexpected keynote presentation at the end of day 1 – “Improv(e) your testing” by Piotr Gasik and Agnieszka Matan. OMG it was great. We – the audience – felt like little children and had a lot of fun. It was a fantastic idea to invite people, who have nothing to do with testing and who just can cheer you up and improve your communication skills during just one talk. Amazing and inspiring.

Piotr Gasik on the stage

Less Waste

My talk was about zero waste in software testing. I am really concerned about how do people destroy our planet. I need to say kudos to the organizers, because there was no plastic during coffee brakes. There were bins for waste segregation and there was vegan food available. It is still not so obvious at various events I am taking part in, so I do really appreciate it.

Summary

I do realize that my summary is biased and written not from the perspective of competition participant. I’ve heard some rumors that the requirements were too hard and the organisation was not perfect, but still I think that TestingCup is a unique event and I think that every tester should try at least once take pert in the competition and fill it.

Please do share your experiences in the comment section below or stalk me on Twitter @KingaTest