atagg 2015 test automation and effective continuous integration

8
Topic: Test Automation and effective Continuous Integration Presenter: Meghanandini K Tata Consultancy Services Confidential | Copyright © Agile Testing Alliance Global Gathering Brought To You By &

Upload: agile-testing-alliance

Post on 18-Jan-2017

262 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Atagg 2015 Test automation and effective continuous integration

Topic: Test Automation and effective Continuous Integration

Presenter:Meghanandini K

Tata Consultancy Services

Confidential | Copyright © Agile Testing Alliance Global Gathering

Brought To You By

&

Page 2: Atagg 2015 Test automation and effective continuous integration

Testing in Agile Testing in Agile -- IntroductionIntroductionKey aspects QA in Agile• Building quality in• Early automation• Continuously Integrated and testable software• Fast feedbackThese will in turn help in ensuring a:• Faster delivery into production• Optimize value for business

User InterfaceUser Interface

ServiceServiceUnit TestUnit Test

UIUI

Confidential | Copyright © Agile Testing Alliance Global Gathering

Main challenges• Short time frames to complete testing for a story• Multiple deployments within a sprint• System Integration • Interface dependencies• Testing Non functional requirements

UIUIServiceService

Unit TestUnit Test

Page 3: Atagg 2015 Test automation and effective continuous integration

Building a Test SuiteBuilding a Test Suite

GUI Tests

Service level tests

Exploratory TestingFaster

Fe

Broader

Unit Tests• Faster feedback• Easier refactoringTools: xUnit tests are used to test the application code. Eg: Junit tests are used to test the Java code.

Service level tests• Faster feedback compared to tests at UI level• More stable compared to UI level• Application functionality can be tested rather than just the

Confidential | Copyright © Agile Testing Alliance Global Gathering

Service level tests

Unit Tests/Component Tests

eedback

Scope

• Application functionality can be tested rather than just the component

Tools: FitNesse, Cucumber, Concordion, LISAUI level tests• Reduced number of tests• End user interfaceTools: QTP, Selenium, Ranorex, Test Complete etc..

Page 4: Atagg 2015 Test automation and effective continuous integration

Tests at service levelTests at service level

Wiki Page/Feature file Fixture/Step defination Application Code

Confidential | Copyright © Agile Testing Alliance Global Gathering

Collaboration with development team • Application code details • Feasibility analysis• Creation of fixtures • Continued support for service level automation• CI set up and integration of the test cases with CI toolsCollaborate with the team• To ensure feature files are in line with user stories

Page 5: Atagg 2015 Test automation and effective continuous integration

Service/UI Service/UI tests tests –– Striking a balanceStriking a balance• A few points considered while segregating

GUI TestsAt least a few test cases covering End – 2 – End Functionality with Screen transitionsScreen pop-up /Child window related casesComplex scenarios with multiple validations that need to be carried out on the UI

Service level TestsRepeat scenarios with different inputs

Confidential | Copyright © Agile Testing Alliance Global Gathering

• A few challenges for segregation

Repeat scenarios with different inputsBusiness Scenarios & validationsFault Injection & Negative Testing

Page 6: Atagg 2015 Test automation and effective continuous integration

App Server

CIT Tool

Code change/Defect Fix

Source Control

(CVS/GIT)

Publishes build results Notifies Stake holders if build

Build (Ant,

Maven)Code Commit Deploy the BuildPull the source and

create the build

Committing code frequently

Continuous feedback mechanisms

The reduction of

The integration testing can be automated using CIT tool & Service level and UI level automation scripts.

The integration testing can be automated using CIT tool & Service level and UI level automation scripts.1 With every check-in of the code, the automated scripts get triggered and the CIT cases get executed.

With every check-in of the code, the automated scripts get triggered and the CIT cases get executed.2 The integration of the features within a sprint gets tested at this stage.

The integration of the features within a sprint gets tested at this stage.3In-Sprint:

Unit/Service /UI Level Testing integrated with Build

Tools/Techniques: Jenkins

Continuous IntegrationContinuous Integration

Confidential | Copyright © Agile Testing Alliance Global Gathering

Test Scripts Automated Test cases are created and

uploaded in HP ALM Automatically triggered test scripts are

executed in the targeted machines

Selenium Test Management

Tool

Notifies Stake holders if build breaks

Unit Test Cases

Automation

Framework

The reduction of repetitive processes, freeing people to do more value work

Auto Defect NotificationAuto Defect Notification

Frequency: Once after

every build deployment/Daily

Cucumber/FitNesse

Page 7: Atagg 2015 Test automation and effective continuous integration

Best Practices and BenefitsBest Practices and BenefitsBest Practices:• Early QA involvement . Whole team including QA part of the Backlog Refinement sessions• Along with the acceptance criteria for a user story, high level test scenarios/examples should also defined and discussed as a part of backlog refinement session. This helps in elaborating the user story better.• As a part of Sprint planning , analysis should done for a user story wrt what tests need to run at service level and UI level • Effort estimation should include automation effort• Automation tests should be created parallel to application development

Confidential | Copyright © Agile Testing Alliance Global Gathering

• Automation tests should be created parallel to application development• Regular sync up calls to discuss automation• Continuous IntegrationBenefits:• Faster test cycle completion within the sprints

Page 8: Atagg 2015 Test automation and effective continuous integration

Thank You!

Confidential | Copyright © Agile Testing Alliance Global Gathering