Best Practices for Continuous Testing in Agile

Article Covers:
What is Continuous Testing? In Agile, where we frequently release software to production, we need to ensure that software is of high quality throughout the development. We need to test early and we need to test often. We need to make sure that we get correct requirements to begin with, and to ensure that we test throughout development and not leave testing just before release.

A set of best practices that we can follow to implement and improve testing throughout the development lifecycle:

  1. Lean Testing
  2. Collaborate With Business
  3. Implement a QA Practice
  4. Automate Testing
  5. Automate Deployments

Author = Amir Ghahrai (Testing Excellence)

Agile Test Strategy Example Template

Article covers: Agile Test Strategy

Test Levels
Unit Testing
API / Service Testing
Acceptance Testing
System Testing / Regression Testing / UAT
Product Backlog
Story Workshops / Sprint Planning
Developer Testing
Automated Acceptance Tests and Non-functional Testing
Regression Testing
UAT and Exploratory Testing
Done Criteria

Author = Amir Ghahrai (Testing Excellence)

System Integration Testing (SIT)

Definition – What does System Integration Testing (SIT)mean?

Techopedia | March 12, 2014

System integration testing (SIT) is a high-level software testing process in which testers verify that all related systems maintain data integrity and can operate in coordination with other systems in the same environment. The testing process ensures that all subcomponents are integrated successfully to provide expected results.

The Pros and Cons of Pair Programming

Pair programming = a software development practice in which two programmers collaborate on a single workstation at the same time. This collaboration can be done either in person or remotely, in which case you’ll need software for screen sharing and real-time editing.

The Pros of Pair Programming

  1. Fewer mistakes and bugs
  2. Greater resiliency
  3. Increased code quality
  4. Faster training
  5. Improved team morale

The Cons of Pair Programming

  1. Higher costs
  2. Sustainability

Conclusion = Pair programming isn’t new; it’s been around the software development industry for decades. As a practice, pair programming originates from the extreme programming (XP) methodology, which prioritizes high software quality and frequent tests and releases.
For some organizations, pair programming simply isn’t the right fit for their situation. However, a growing number of companies are finding that pair programming has a variety of benefits, including saved development time, higher-quality code, and better training and onboarding. As a result, everyone on the team is working together to build the most successful, best version of the product possible.

Author = Sam McDavid (Medium)

Is Extreme Programming No Longer Relevant?

Extreme programming is no longer relevant. According to the latest annual State of Agile™ survey, less than 1% of the nearly 4,000 respondents stated that they were practicing Extreme Programming, while 94% said they were practicing agile.

Article discusses XP and the importance of keeping its values/principles relevant. Note that Scrum was the leading methodology then (2015), and growing.

Author = Steve Ropa (CollabNet VersionOne)

What Are the Pros and Cons of Extreme Programming (XP)?

XP = Extreme programming = an agile methodology, considered one of the most effective in software development. It operates with a test-first development scheme. It has short-term planning, while being highly adaptive to changes of requirements, and consists of highly productive teams that produce quality software rapidly and effectively.

In extreme programming, the involvement of the customer is higher than in any other agile methodology. They are an active member of the team throughout the project life cycle.

The Extreme Programming Team
The customer
The tracker
The programmer
The tester
The coach

Principles of Extreme Programming
XP follows the agile principles. However, it has five key values: simplicity, communication, courage, respect, and feedback.

Pros of Extreme Programming
Reduces costs

Cons of Extreme Programming
Code overcomes design
Lack of documentation

Consider Extreme Programming for Your Team

Author = Elina Panayotova (Dreamix Ltd)