BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage TDD Content on InfoQ

  • Coaching Technical Practices

    In the past 4-5 years I have been working as a software development coach, helping organizations around London improve their technical practices. I focus on XP practices, specifically TDD, Pair Programming, Refactoring and Simple Design. In this article I share my experiences organizing coaching sessions, including subject selection and sequencing, exercises for each subject and session formats.

  • A Quick Guide to Implementing ATDD

    Collaboration is one of the core values of Agile Methodology. That being said, what happens when you notice lack of collaboration between developers, testers and business-minded individuals in agile teams? This article provides a quick guide to implementing Acceptance Test Driven Development (ATDD) in your projects to mitigate problems due to lack of collaboration.

  • Is TDD a Form of OCD?

    Developers are increasingly testing their own and each other's code. "Evaluation anxiety" is common psychological condition that is directly impacted by self-testing and team-testing. Are practices like TDD a defense mechanism to protect coders from criticism? And do emerging methods like Behavior Driven Development represents a more emotionally healthy approach to team evaluation?

  • Perspective on Architectural Fitness of Microservices

    In this article we peel the onion of potential architectural fitness of microservices in the context of Master Data Management, and the challenges a microservices-based architecture may face when solving problem domains that require compute-intensive tasks, such as the calculation of expected losses on a portfolio of unsecured consumer credit.

  • Automated Journey Testing with Cascade

    Starting with a brief history of software testing, we investigate Cascade, a new framework for testing “journeys”, eliminating overlapping coverage to produce fast unit tests.

  • Using vfsStream to Test File Uploads with Laravel

    Testing of uploading files can be tricky, but with the right tools and the knowledge of a few tricks, the process can be more efficient and a lot less difficult. This article goes over creating an endpoint to upload a CSV file of users and testing that users in the CSV are displayed in the JSON response, as well as adding validation to ensure CSV files are the types of files being dealt with.

  • Why and How to Test Logging

    Logging and aggregation are crucial tools for today's complex, distributed systems. They provide rich insights which keep time to recover short. We must therefore make sure we test logging adequately.

  • Technical Practices as a Hack on Consciousness: Why to Hack Yourself

    Software technical practices are usually adopted as a means of creating better products. These practices can create and maintain a healthy human system. Technical practices raise the consciousness of individuals and the team as a whole. Technical practices hack consciousness giving us a quick, deep chute into depths of connection that improve our selves, our products, and our world.

  • So, How Do You Make Agile Successful?

    It is not Agile's fault, it is your fault - Are you fed up with such statements? This article tries to provide a more constructive answer on how to make Agile successful. It first shows how Scrum can be harmful, then argues how Agile requires different skills on both product and delivery levels. It suggests to use CICD to counteract Scrum's traps and stresses the importance of systems thinking.

  • Beyond Page Objects: Next Generation Test Automation with Serenity and the Screenplay Pattern

    Automated acceptance testing reduces time wasted in manual testing and bug fixing, and when combined with Behaviour-Driven Development, can guide development effort. But it requires skill, practice and discipline. The Screenplay Pattern helps teams address these difficulties and is where you may end up by mercilessly refactoring Page Objects using SOLID design principles.

  • Testers in TDD teams

    In a team doing TDD (Test Driven Development) there is no need for testers that do manual checking. For testers this means that much of their traditional work disappears. Meanwhile modern testing solutions have become so technical that implementation requires specialists. For testers this presents a very interesting opportunity, but it requires solid technical skills.

  • A Conversation with James Shore on Agile Fluency and Let's Code Javascript

    At the recent Agile Australia Conference James Shore gave a keynote talk and a workshop on Agile fluency. He spoke to InfoQ about his work on agile fluency, teaching and building tools for test driven development in javascript.

BT