Posts

Showing posts from November, 2015

Integrating Automated Testing into DevOps

DevOps is neither a tool nor a methodology.  It is a philosophy for how people in the software development supply chain interact.  DevOps practices include processes and tools that streamline software delivery by continuously improving feedback from production development and automating delivery activities. Tools required for streamlining the delivery Tools to automate and manage builds Tools to automate testing and results reporting Tools to provision environments (physical, virtual, private and cloud) Tools to orchestrate continuous delivery of applications Common Tools Source Control (Git, Subversion, CVS etc.) Build Automation (Ant, Anthill, Maven, Make etc.) CI Tools (Jenkins, CruiseControl, Bamboo, TeamCity etc.) Test Tools – Static Analysis Java Stack (Checkstyle, PMD, FindBugs, JDepend etc.) .NET Stack (Stylecop, SourceMonitor, CloneDetective, NDepend etc.) Ruby Stack (rubocop, Rails best practices, Cane, Reek etc.) Test Tools – Unit Tests (JUnit, TestNG, NUnit

Top 10 Challenges of a Tester Working in Agile Team

Sprint becomes a mini-waterfall and testers are involved late in the sprint Lack of focused testing as for many other things testers time is required like prepare stories for future sprints, keep an eye on broken build on CI, work with product owner for demo, help developers with test data, environment setup etc. Complexity of test environment especially when quick fix need to be tested before deploying to the production Need to learn on continuous basis especially new tools & technologies Due to frequent requirement changes, ensuring full test coverage is not straight forward Support of testing for daily or semi builds Lack of documentation Code accidently broken due to frequent builds, which results loss in testing time Support testing for the last minute changes especially with the deadline approaching Test team gets squeezed due to over commitment and sprint durations

Test automation techniques in agile environment

·          Start small at the beginning of the project and build the test suite iteratively with each passing sprint. ·          Create a test automation backlog to serve as a prioritized list of automation tasks. This will help you stay focused on the immediate tasks without losing sight of the long-term goals. Have a good look at the available testing tools and their capabilities and don’t be afraid to invest a sprint or two in getting your hands dirty with them. This will ensure that you get started with the best available testing options and establish a realistic assessment of their features. ·          Keeping your tests and data loosely bound will help you to switch testing tools with ease in the future if such a need arises. ·          Create meaningful tests and give due consideration to concerns like maintainability and execution time while adding tests to the automation suite. ·          As soon as possible, make every effort to enable the whole team to use the secu