Code coverage tools are extremely useful, yet they show what the final coverage looks like.
In the most development setups, the individual commits are cherry picked from the development
to the staging to the production branch. The final coverage might be very different after some updates
are transferred and merged.
I will show two separate tools that enhance the code coverage computed from unit tests.
First, there is a code coverage proxy was-tested that I wrote.
It collects code coverage information during end 2 end feature testing, usually performed by the QA people.
This is extremely valuable, because most of the front-end code is extremely time consuming
to test using automated tests.
Second, I wrote tested-commits tool that takes any code coverage information and
splits it back to coverage by an individual commit. Thus we can track how much we have tested
each feature / bug fix that merged and moved around the branches.
Taken together, we can reliably speak about each feature tested at 90% before being deployed
to production, even if the testing is manual.
speaker bio
Gleb Bahmutov is JavaScript ninja, image processing expert and software quality fanatic.
After receiving a PhD in computer science from Purdue University,
Gleb worked on laser scanners, 3D reconstruction, and panorama-based virtual tours at EveryScape.
Later Gleb switched to writing browser data visualization software at MathWorks.
After a year, Gleb went back to the startup environment and developed software quality
analysis tools at uTest (now Applause).
Today Gleb is developing real-time financial analysis tools at Kensho.
He blogs about software development topics at http://glebbahmutov.com/blog/
and links his projects at http://glebbahmutov.com/.
You can follow him and his work @bahmutov
abstract
Code coverage tools are extremely useful, yet they show what the final coverage looks like. In the most development setups, the individual commits are cherry picked from the development to the staging to the production branch. The final coverage might be very different after some updates are transferred and merged.
I will show two separate tools that enhance the code coverage computed from unit tests. First, there is a code coverage proxy
was-tested
that I wrote. It collects code coverage information during end 2 end feature testing, usually performed by the QA people. This is extremely valuable, because most of the front-end code is extremely time consuming to test using automated tests.Second, I wrote tested-commits tool that takes any code coverage information and splits it back to coverage by an individual commit. Thus we can track how much we have tested each feature / bug fix that merged and moved around the branches.
Taken together, we can reliably speak about each feature tested at 90% before being deployed to production, even if the testing is manual.
speaker bio
Gleb Bahmutov is JavaScript ninja, image processing expert and software quality fanatic. After receiving a PhD in computer science from Purdue University, Gleb worked on laser scanners, 3D reconstruction, and panorama-based virtual tours at EveryScape. Later Gleb switched to writing browser data visualization software at MathWorks. After a year, Gleb went back to the startup environment and developed software quality analysis tools at uTest (now Applause). Today Gleb is developing real-time financial analysis tools at Kensho. He blogs about software development topics at http://glebbahmutov.com/blog/ and links his projects at http://glebbahmutov.com/. You can follow him and his work @bahmutov