[Code] Review for Test Automation
Nicolae Oprean QA Technical Expert
[Code] Review for Test Automation Nicolae Oprean QA Technical - - PowerPoint PPT Presentation
[Code] Review for Test Automation Nicolae Oprean QA Technical Expert Who am I? Nicolae Oprean QA Technical Expert at Ullink PhD in Computer Science Programmer (1y), Client Service (5y) and QA (6y) [Code] Review For Test Automation
Nicolae Oprean QA Technical Expert
[Code] Review For Test Automation
Nicolae Oprean
❯ QA Technical Expert at Ullink ❯ PhD in Computer Science ❯ Programmer (1y), Client Service (5y) and QA (6y)
[Code] Review For Test Automation
START
When I joined, we had 200 manual test cases stored in Excel files 1 year later => a portfolio of 1000+ (manual) test cases
[Code] Review For Test Automation
Extracted smoke tests outside
5 QAs started automating
[Code] Review For Test Automation
❯ Best practices stored in Confluence ❯ Do formal code reviews ❯ Integrate with Gerrit and GIT ❯ Request help from developers
[Code] Review For Test Automation
Both QAs and developers review test automation code 3D interaction between QA teams Cross-functional teams Test automation code is DAMP & DRY
[Code] Review For Test Automation
Functional Knowledge Transfer (Higher Bus Factor) Improves Code Quality Technical Knowledge Transfer
Reduced Cost of Fixing Bugs
[Code] Review For Test Automation
This shall not be merged
I would prefer this is not merged as it is
I reviewed the change (partially or fully) but don’t have an opinion yet Looks good to me, but someone else must approve
Reviews look good to me, approved
[Code] Review For Test Automation
[Code] Review For Test Automation
[Code] Review For Test Automation
Uncle Bob’s thoughts:
❯ Concept of the responsibilities on a construction site: the foreman’s role ❯ How this maps to software development, in particular to the code review process
Useful reading from Uncle Bob:
❯ Where is Foreman? ❯ Oh Foreman, Where art Thou? ❯ A Spectrum of Trust
[Code] Review For Test Automation
Started off with a small number of foremen Encouraged and supported people to do as much code review as possible across projects and technologies When the quality and quantity threshold was reached, people got appointed foreman Introduced a pre-merge code review tool called Gerrit Self-obviating system
[Code] Review For Test Automation
[Code] Review For Test Automation
Initial problems ❯ Many reviews vs. too few people to approve ❯ Length of the process... ❯ Persisting frustration
[Code] Review For Test Automation
❯ Easy to be reviewed - Gerrit dashboard displays size
❯ Visibility - Integration with Slack ❯ Responsibility - Punish self-reviewers through cats
[Code] Review For Test Automation
Criticize the code not the writer Avoid the “Why” questions… Ask questions rather than make statements… Remember that there is often more than one way to approach a solution… Suggest an improvement instead of saying code is bad Format your comments to be clean and readable Don’t rush through code review Help people to improve Remember to praise… Team commitment
[Code] Review For Test Automation
A patch must be small and relate to a single unit of work A class or method should have a single responsibility Methods must be clear and readable Code must be clean
[Code] Review For Test Automation
Foster technical discussions Ask, don’t yell
Avoid negativity … be positive “Why didn’t you just … ?” Follow a review checklist
Sustain a strong code review culture
[Code] Review For Test Automation
Do Code Review with Developers DAMP & DRY Bus Factor Use an automated code review tool Shorten feedback loops Maintain lessons learned Share knowledge with others
Nicolae Oprean QA Technical Expert Twitter: @noprean Email: nicolae.oprean@ullink.com Linkedin: nicolae-oprean