Silk – delivering successful test automation in agile development



Tags: ,

In agile projects, managing quality is not a discrete discipline, but is an integral part of producing code.  The rate of change and flexibility associated with agile development means that teams must automate when possible.  Too often traditional test automation and test management tools cannot accommodate the required changes to processes, skills, attitude, and responsibility that the shift to agile management practices brings.

How do you succeed in test automation in agile development?

The goal of agile development is to deliver production-ready code at the end of sprints. This requires rigorous testing throughout each sprint.  Agile development projects have no choice; they need to automate their testing or they risk falling short on quality.  As agile projects deliver customer value with every iteration they also deliver features that must be tested from the functional/UI perspective with each iteration.

Test automation permits more testing earlier in the process.  This greatly reduces software costs because time periods between introducing and identifying the defect is slashed.  Changes must be checked in regularly, which trigger frequent builds that include test automation runs. The earlier you begin and the more often you run test automation runs, the sooner you identify defects and support agile development processes.

Starting early with UI testing and in a Continuous Integration approach will help to eliminate defects early.  This does require easy script creation and the ability to reuse your scripts.  You must also minimize and identify failures that were actually caused by your automation tool to avoid false positives.

How does SilkTest support continuous test automation?

Agile teams demand test automation results on a per-build basis (at a minimum, for nightly integration builds). SilkTest delivers the fastest playback speed for UI automation available on the market. So more testing can be achieved in a shorter period of time, providing the timely test results that agile teams require.

In agile teams, where there is strong collaboration between developers and testers, developers can improve the testability of their applications.  SilkTest provides the strongest support in the industry for custom UI properties.  It also provides the most flexible approach to building reliable and stable identifiers for UI controls. This is in contrast to other test tools that rely on a small subset of properties for object identification.

The more test results you receive, the less effort you can expend analyzing test failures. SilkTest provides not only the fastest playback speed, it also provides the most reliable test execution, minimizing test failures related to test-script synchronization issues. SilkTest’s out-of-the box synchronization is unique in the industry.

What are the benefits of SilkTest and SilkCentral Test Manager in agile project collaboration?

Agile teams are cross-functional; they include developers, testers, doc writers, and domain specialists. Every team member is responsible for quality and so each team member contributes to the assurance of quality. To manage the process, agile teams rely on agile project management tools to manage releases, user stories, defects and tasks. They also rely on tools to help them manage testing efforts that aren’t directly related to user stories in the current iteration. These testing efforts include regression testing, configuration testing, and performance testing.

SilkTest enables agile teams to generate scripts using their preferred method based on the skills of team members – either visually or using a scripting language such as VB.Net, C#, Java, or 4Test. This fosters collaboration between team members that work in different environments (i.e., testers and developers).

All leading xUnit testing frameworks, including JUnit, NUnit, and MSTest, are supported by SilkTest. Silk4J tests use JUnit as a testing framework, making it easy to integrate Silk4J tests with CI/Build Management systems such as StarTeam TeamInspector, Hudson and Cruise Control. Silk4J and Silk4Net offer lightweight solutions that do not get in the way of test automation engineers’ work. This is why Silk4J and Silk4Net are so easy to integrate with agile development tools and processes.

Like SilkTest, SilkCentral Test Manager, supports all leading xUnit testing frameworks as well as FitNesse out-of-the-box. Test authors work in their preferred environment adding tests to the xUnit test suite; SilkCentral Test Manager automatically recognizes that new tests are available and adds them to the test plan. Agile teams can use SilkCentral Test Manager’s distributed configuration testing capabilities to increase test coverage applying their unit tests to cover multiple configurations.

SilkCentral Test Manager establishes traceability between tests and user stories managed in agile project management tools such as VersionOne and Rally. Unlike agile PM tools, SilkCentral Test Manager provides a cross-iteration, cross-release view of requirements coverage. Even when agile teams attempt to automate as much as they can, manual testing tasks remain and require appropriate planning.

SilkCentral Test Manager is built from the ground-up to support different source control management systems (SCM) for storage and version control of automated test scripts, including popular SCMs such as Subversion, Microsoft TFS, and StarTeam. This assures that tests and code remain in sync; the current version of a test checked in through source control is automatically executed against the current version/build of the code base. Agile teams view tests as part of the code base and manage them jointly.

SilkCentral Test Manager provides Web services interfaces that allow easy integration into build management/CI systems. This allows build management/CI systems to trigger test executions inside SilkCentral Test Manager while querying the results of test executions that can be displayed within the build management/CI system.

The Silk product line offers powerful capabilities for automating tests and test management. It means that you can take advantage of nimble methodologies like Agile and accept no compromises on the quality of the software you deliver.

Share this post:

Comments are closed here.