How to Identify Risk in a Large Code Base with Noah Sussman
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 webinar, you will learn:
- your role as a tester in becoming aware of the code base you are working with
- look at the source code through the lens of a software architect
- examine sources of risk in software so they become more clear
- identify major sources of risk and communicate, with evidence from the code, how and where quality goals are being pursued
To view the code for the tools mentioned in the 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 from the talk 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, etc: https://github.com/textarcana/code-risk/tree/master/bin
These links give you access to the tools and code you can use to perform the same analysis of your own code base as was performed by Noah in the talk. Cloc is a download, while Noah's tools can be forked if you have a git repository. You can also use his tools to develop your own tools by reading the code available, without setting up a github account.
Noah Sussman is an automation engineer who studies how people and computers relate to each other. His approach to scaling Web sites, in particular CI systems, is demonstrably successful — he is noted for designing innovative test architectures for Etsy, The SAT Test and Barnes & Noble Nook. After several years of consulting, Noah has now joined the team at Teachers Pay Teachers.