How to Identify Risk in a Large Code Base
24th May 2016
-
Locked
Noah Sussman
Software Engineer
Talk Description
Identifying risk in software and code is a relatively young science. In 25 years, we’ve moved from using naïve metrics (like bugs-per-line-of-code) to using nuanced models like those applied by automated testing practitioners at Etsy, Google, Facebook and other successful continuous delivery organizations. In these organizations, many people are responsible for understanding and identifying risk in the code base, which is often large and ever-changing in these large applications.
In this Masterclass, Noah demonstrates different techniques and tools he regularly uses to identify and examine risks in large codebases.
In this Masterclass, Noah demonstrates different techniques and tools he regularly uses to identify and examine risks in large codebases.
Show Notes
To view the example data and code for the tools mentioned in this talk, you can go to the GitHub links provided and read through the code.
To use the code for the tools mentioned in the talk, you may need to either download the tool or fork the GitHub repo. This will require your own GitHub account (free for personal use) and using the GitHub tutorial on forking repos.
Sample Data
Jupityr/iPython notebook and example data can be found at this GitHub link: https://github.com/textarcana/code-risk/blob/master/code-risk-notebook.ipynb
This notebook allows you to see the results of using each tool described in the talk, so you know what you can expect the outcome to look like when used on your own code base.
Tools Used
Cloc code-repository visualisation tool: http://cloc.sourceforge.net
Scripts Created by Noah for wordcounts, developer contribution, popular files: https://github.com/textarcana/code-risk/tree/master/bin
By the end of this session, you'll be able to:
- Discover the importance of knowing your codebase as a tester
- Use techniques to identify sources of risk in large codebases
- Gather evidence to communicate sources of risk in large codebases
I wrote Falsehoods Programmers Believe About Time, the canonical reference on temporal bugs. You can also read about me in The Devops Handbook and in the Practical Guide To Testing In Devops.
I wrote Falsehoods Programmers Believe About Time, the canonical reference on temporal bugs. You can also read about me in The Devops Handbook and in the Practical Guide To Testing In Devops.
Sign in
to comment
Suggested Content
MoT Professional Membership now includes access to all in person events
Explore MoT
Wed, 12 Nov
Align testing and delivery to reduce lead time and improve deployment frequency.
Learn how to use linux commands to support your testing activities
Debrief the week in Quality via a community radio show hosted by Simon Tomes and members of the community