Should you rebuilding or refactoring software?An interview with Wouter Lagerweij about what it is that makes refactoring so difficult, if rebuilding software is less risky than refactoring, and how continuous delivery fits with rebuilding software.
Twitter has open sourced Diffy, an automated testing tool used in production for discovering potential bugs in new code running on Apache Trift and other HTTP-based services.
Amazon has introduced its new AWS Device Farm, a mobile test farm targeting the Android and Fire OS ecosystem that provides a growing collection of more than 200 unique environments, says Amazon, and integration with major testing automation frameworks and CI systems.
The software testing practices and mindset have radically changed since the early days of Agile and Lean. Software testing practices and mindset are an inseparable part of DevOps culture.
Hans van Wezep, software architect at Philips Healthcare, talked about model-based migration at the Bits&Chips Software Engineering conference. InfoQ did an interview with van Wezep about the challenges in maintaining legacy software, why manual refactoring is error prone, using models to refactor and migrate a codebase, and the benefits of using models when maintaining legacy software.
Continuous Integration can help to find integration issues earlier and to visualize the status of the build to all involved. Integration problems can be detected at build-time in stead of run-time during testing and teams can get immediate feedback on changes that they made and on the impact on components that are developed by other teams.
Oftentimes, complex software projects span across multiple repositories on account of external dependencies. This can be a challenge in itself, explains Google WebRTC engineer Patrik Höglund, who also described Google's approach to developing software that uses dozens of third-party libraries such as Chrome.
An interview with Yaniv Yehuda, Co-Founder and CTO of DBmaestro, about how they are doing agile development and using DevOps, how they implemented continuous delivery, on agile practices that turned out to be difficult to implement, and the benefits that they are getting for using agile and DevOps practices.
At Unruly teams have been applying eXtreme Programming (XP) since being founded in 2006. Teams take a test-first approach to developing code and invest in automated checks that can be run in live environments. InfoQ interviewed Rachel Davies about the importance of a continuous approach to testing, how this has evolved over the years and the business advantage that it delivers to Unruly.
Behavior driven development (BDD) can be used to improve communication between testers, developers and the business. For example you can use given-when-then scenarios to develop test scripts and at the same time define the requirements of the system. BDD involves all team members and helps them to think about the product.
Convinced that “whatever can be unit tested should be unit tested”, Mona El Mahdy, a Software Engineer in Test at Google, has written a blog post proposing several approaches to perform unit tests on the user interface of Android applications. Mahdy recommends Robolectric and the Android Studio Gradle plug-in for general unit testing, and Espresso or UI Automator for creating and running UI tests.
At the Agile Testing Days 2014 in Potsdam Jan Jaap Cannegieter spoke about using different sides of our brain to optimize testing and he will redo this presentation during the Agile Testing Day Netherlands 2015. InfoQ interviewed Cannegieter about how agile has changed testing, creativity and thinking in testing, skills of agile testers, and how testers can make steps towards agile testing.
Marco Achtziger shared his experiences with deploying continuous testing in large scale agile project at Siemens Healthcare at the OOP conference. InfoQ interviewed Achtziger about continuous testing and continuous integration, infrastructural and social challenges with continuous testing, testing processes and tools, and improving continuous testing.
In a blog post on bad code and technical debt Steve Freeman described how Chris Matts came up with the metaphor of an unhedged call option for bad code. This post is being intensively discussed on Reddit and on Hacker News recently. InfoQ interviewed Steve and Chris about using metaphors for bad code and code smells, trade-offs and costs of low quality code, and responsibilities for code quality.
Netflix's Failure Injection Testing bridges the gap between isolated testing and unmitigated chaos testing by controlling the impact of the test. FIT establishes a context which other components of Netflix's production testing and infrastructure systems interpret and adjust the behavior of the system accordingly.