30 Days of Agile testing, Day 9: Pairing on a code review

(Heather) #1

Yes I’m early with this one but I need a bit of advice.

The challenge for Day 9 of 30 days of agile testing is to pair with a developer on a code review.

On testers.chat recently I was advised to do just this but, honestly, it terrifies me! I was previously a developer (developing in MATLAB) but I feel like my current knowledge of programming languages limits me. Maybe it’s imposter syndrome but I’m not sure where to start.

Ahead of Day 9, how can you identify risks in code for a language you’ve never seen before? How do you approach this? Do we need to have these programming skills? Or can you participate in a code review without them?

Roundup of 30 days of Agile Testing
(gordon) #2

Yes being able to code in the language that is being used would mean you might see issues or risks that would pass you by otherwise but I don’t think that is where most of the value of you being part of the code review comes from.

Your value comes in the questions that you will ask and assumptions you will challenge as you are working through the code changes and the dev explains the workflow through the code.

So yes, you definitely can participate in a code review without being able to code in that language.

(Heather) #3

A timely post from @lisa.crispin on the Dojo about Pairing With Developers!

(Lisa) #4

My approach is to ask the developer to walk through the code changes with me. If you’re using a tool like GitHub, the process is easy to do. I try to understand the changes/additions and reasoning behind how they were done. I’m basically a glorified rubber duck, but since I do know a lot of design patterns, I can often spot “smells”. When the dev starts explaining it to me, she may also agree it needs fixing. I find it a satisfying activity - we have helped make sure our code is maintainable and robust.

We don’t do that many code reviews since it’s all developed with pair programming, but we do it when we feel there’s a critical change or a fragile part of the code.

Ask questions, developers will enjoy explaining it to you, I promise!

(Heather) #5

I’m wondering if people had similar issues to @matt on this one?