Posts

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...

Has Machine Learning arrived in the test automation space ?

Image
Testim -  https://www.testim.io/ Testim is a new test automation tool that claims to use machine learning to speed the authoring, execution, and maintenance of automated tests. "A developer can author a test case in minutes and execute them on multiple web and mobile platforms. We learn from every execution, self-improving the stability of test cases, resulting in a test suite that doesn't break on every code change. We analyze hundreds of attributes in realtime to identify each element vs. static locators. Little effort, if any, is then required to maintain these test cases yet they are stable and trustworthy." Being a huge enthusiast about Machine Learning in the test automation space , I am super excited and hope this is the beginning of a new way of testing. The CEO  Oren Rubin and COO Shani Shoham  - "We use dynamic locators and learn with every execution. The outcome is super fast authoring and stable tests that learn, thus eliminating the need ...

Agile (Values, Principles and Practices) never really fails, the people involved might fail

Image
Love  @Bruce Carlyon's work: The Momentum Interviews - Bruce Carlyon on Agile delivery. | Momentum Search and Selection Our new series of blogs titled The Momentum Interviews has received excellent feedback. The fourth blog in this series is with a seasoned Agile practitioner named Bruce Carlyon. He is a certified Agile Framework Consultant, Scaled Agile Framework Agilist and Scrum Master. Our Q and A is b

Canopy - F# is the new C# in the F#rictionless web/mobile testing world

Image
Canopy  is a new web testing framework for F#, for UI testing. (C# friendly ) There is also a Canopy testing framework for mobile apps -  https://fsprojects.github.io/Canopy.Mobile/ The website:  http://lefthandedgoat.github.io/canopy/index.html Nuget Package:  https://www.nuget.org/packages/canopy/1.5.0 GitHub for Mobile -  https://github.com/fsprojects/Canopy.Mobile Features : Solid stabilization layer built on top of Selenium. Death to "brittle, quirky, UI tests". Quick to learn. Even if you've never done UI Automation, and don't know F#. Clean, concise API. Canopy's API Actions : documentation of everything you can do on a page Assertions : all the ways you can verify what's on the page is correct Configuration : configure and fine tune canopy Testing : different ways to orchestrate tests and troubleshoot issues with a page Reporting : different ways to output the results of your test suite Canopy Examples - https://...