Posts

Showing posts with the label dynamic testing

Test Impact Analysis - My story so far

Image
It's been three months now that I have started my journey in a new working environment to implement a flavor of the Test Impact Analysis. Being a fan of ThoughtWorks and following Martin Fowler's blog  I was impressed about reading an article that spoke about the rise of TIA(Test Impact Analysis) The definition of TIA from martin fowler " Test Impact Analysis (TIA) is a modern way of speeding up the test automation phase of a build. It works by analyzing the call-graph of the source code to work out which tests should be run after a change to production code. Microsoft has done some extensive work on this approach, but it's also possible for development teams to implement something useful quite cheaply. " Problems to solve: Let's run all tests every time a change is pushed Tests that run late in the integration cycle - Implicitly Shifting right  Number of tests that run in the pipeline  The number of tests in the regression suite What shape is...

How does Facebook find bugs that crash their software?

Image
Facebook uses both static and dynamic analysis tools to perform testing. What impresses me more is the dynamic analysis, but lets look at the static analysis first  Static analysis, as the name implies, is only interested in the source code of the program Facebook's static analyser is called Infer. The company open-sourced the tool in 2013, and a lot of big names (Uber, Spotify, Mozilla) use it. It is on github for you to play around with https://github.com/facebook/infer Facebook's dynamic analyser is called Sapienz. " There are a lot of dynamic analysers out there, but none like Sapienz " - Facebook Why is Sapienz so different? The challenge with dynamic testing is finding the reight inputs that cause an app to crash. Facebook says that most dynamic analysers use random sequences of inputs at apps, with up to 15,000 input events to force a crash. Sapienz, on the other hand, only needs about 100-150 events to find a crashing bug. In practice, th...