Good engineering practices are the tools that help agile teams to deliver shippable products. Although many engineering practices have proved to be effective, they are not as widely used as they should be. Agile anti-patterns like the software testing ice-cream cone, accumulating technical debt and functional silos prevent teams from delivering a potentially releasable product.
Test Butler is an open-source testing tool for Android that aims to allow developers to reliably run UI tests, writes LinkedIn engineer Drew Hannay and creator of Test Butler, by allowing developers to programmatically control a number of testing environment settings.
QASymphony, a testing services company, has recently released the State of Test-First Methodologies 2016 Report, a survey of over 200 people/organizations from 15 countries. The purpose of the survey was to evaluate the adoption of test-first technologies -BDD/ATDD/TDD – and how they are perceived by respondents.
Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.
A recent post in Reddit sparked a debate between the traditional testing framework JUnit and upstart Spock with the central theme, “What’s wrong with JUnit?”
Alex Zhitnitsky of Takipi has written about five ways to try to improve the chances of successful deployed of microservices into production. As we will see, they share many similarities with other independent efforts, perhaps leading us to agreement on top areas of concern, if not ways of solving these problems.
InfoQ interviewed Diomidis Spinellis, author of the books Code Reading and Code Quality, about finding and fixing errors in software, principles for debugging software and how to improve the effectiveness of debugging, how to write code that requires less debugging, and what managers can do to support error prevention and handling.
Explaining Craftsmanship techniques is hard, especially to Senior Management and Executives. Since understanding is usually key to a mindset shift and technical practices are the way to develop good quality software, it's very important to explain them. Mike Bowler facilitated a workshop on how to use Lego for technical practices during the 7th Agile Games Conference.
InfoQ interviewed Adam Tornhill, author of Your Code as a Crime Scene, about software evolution and mining social information from code and how to use this to increase the understanding of large codebases, how to create a geographical profile of code, and the benefits that can be gained from techniques like mining social information and geographical profiling.
VersionOne have released the results of the 10th annual State of Agile survey. Based on over 3800 responses from around the globe the results indicate that agile methods deliver tangible benefits; they are steadily becoming the default approach to software development and are starting to expand to areas outside software.
Android Studio 2.0 comes with several new features and improvements: Instant Run, integration with a Google service for testing on real devices, faster emulator, faster builds, GPU profiler and debugger, support for deep linking and others.
This post summarizes the experience of a university professor who gave up on TDD and Uncle Bob’s rebuttal of his arguments.
Although Selenium is a popular library for UI testing, issues about fragile and unreliable tests are common. InfoQ reached out Chris Holt, creator of canopy, to learn more about the F# library built on top of Selenium.
The world is naturally chaotic, and we should both plan for and test that our systems can handle this chaos, Rachel Reese claimed at the recent QCon London conference describing how Jet, an e-commerce company launched in July 2015, work with microservices and chaos engineering.