Sonam Chauhan Corporate Express webMethods Testing at Corporate Express.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

Performance Testing - Kanwalpreet Singh.
GUI Testing By Norbert Haché. Contents b What is GUI testing b Elements of GUI testing b Old Approach (TRUMP Project) b Scripting b Capture / Replay b.
Test Yaodong Bi.
Test process essentials Riitta Viitamäki,
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Workflow Product Overview.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Document Manager Product Overview.
Testing and Quality Assurance
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Prashant Lambat Sr. Manager SQA Engineering Symantec Corporation, Pune Date: 29 th January 2011.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
By SAG Objectives Cross platform QA Automation for web applications Scheduling the automation Automatically build the test scripts Generate the.
© 2014 VMware Inc. All rights reserved. BlazeMeter Load Testing Solution with vCloud Air High-level Overview Jan 2015.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
© , Michael Aivazis DANSE Software Issues Michael Aivazis California Institute of Technology DANSE Software Workshop September 3-8, 2003.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Systems Analysis and Design in a Changing World, 6th Edition
Semester 2, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Introduction to Software Testing
Regression testing Tor Stållhane. What is regression testing – 1 Regression testing is testing done to check that a system update does not re- introduce.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Understanding and Managing WebSphere V5
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Continuous Integration Demonstration. Agenda 1.Continuous Integration Basics 2.Live Demonstration 3.Bamboo Concepts 4.Advantages 5.Version 2.0 Features.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
Overview of Change Management ClearQuest Overview for CORUG January, 2008.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Sonam Chauhan Corporate Express B2B Change Management at Corporate Express.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
RUP Implementation and Testing
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
CustomWare Asia Pacific Pty Ltd All Rights Reserved Integration Quality Assurance – WmUnit.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
1 © Agitar Software, 2007 Automated Unit Testing with AgitarOne Presented by Eamon McCormick Senior Solutions Consultant, Agitar Software Inc. Presented.
Building Enterprise Applications Using Visual Studio®
UNICOS Application Builder Architecture
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
SE goes software engineering; (practically) managing the Compose
LOCO Extract – Transform - Load
Continuous Performance Engineering
Introduction to Software Testing
Princess Nourah bint Abdulrahman University
Automated Testing and Integration with CI Tool
Module 01 ETICS Overview ETICS Online Tutorials
Regression testing Tor Stållhane.
Selenium Tutorials Cheyat Training.
November 1, 2007 In cooperation with:
SE goes software engineering; (practically) managing the Compose
OpenURL: Pointing a Loaded Resolver
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Sonam Chauhan Corporate Express webMethods Testing at Corporate Express

Overview Introduction Change Process General Requirements for Testing Old Testing Process New Testing Process Implementation Tips Future Steps and Trends References

Introduction Constant pressure for change Changes need to be tested for bugs Testing has business impact –Good testing costs money –Bad testing costs more money! Need to find the Golden Mean

Introduction webMethods issues that relate to testing Dev/Test/UAT/Live Builds Much Variation »Due to ISs multiple packages feature Source Code Management Rudimentary »Support planned for interfacing to SCMs Complex Change Deployments Risky »Partially addressed by wMDeployer Testing Support Absent »wM arent adding it

Change Process Requirements Definition Requirements Specification Development Review and Testing Change Deployment (Dev Test UAT Live) Changes Validated Changes

General Requirements for Testing Like development, testing is an engineering skill –Allocate limited resources for max. benefit. Black-box Integration testing for Regressions Best return for your testing buck –High level tests simulate live use –Tests can be external to code Easy to retrofit to existing codebase –Regression are the costliest bugs All changes must first do no harm –This is not Unit Testing Unit tests cant assure system functionality This is integration/system-level testing

General Requirements for Testing Developers can be testers! –Commitment to quality Make test development part of development process Make reviews of the test code part of code review process –Automate testing Automated Regression Testing Harness –Without automation, testing is tedious work Automation increases productivity and efficiency –Permanently add hard-won insight to corporate memory And replay it on demand –Essential for managing change in complex systems –Active testing catches problems early Load testing often very important –Some bugs can only be "teased out" under load.

Old Testing Process Implemented Circa 2001 Mostly manual Repository of test cases Test case input submitted to system being tested System output compared to stored test case outputs and Diff generated (image at right) Diff manually inspected and signed off

Old Testing Process Advantages –Thorough Inspection of Changes A human eyeballs all differences Disadvantages –Expensive Due to tedium, testing is only done when required –Not Scalable Testing time increases significantly as platform grows more complex –Limited Coverage No load testing Fixed issues are not re-tested –Errors Quality of QA suffers as most testing is manual and tedious

New Testing Process The metatest Testing Architecture Implemented Circa 2004 Drivers: –Increasing Complexity –Need for Automation metatest Testing Architecture –Perl command line engine –Open source components –Controls test engines that execute parameterized test scripts –Supports multiple test engines, test parallelization (in addition to threading within tests), test retargeting and test load variation –Test scripts execute sequence of steps, with assertions made at end of each step. –Entire test runtime and test script database in SCM system (CVS) Effort: 1 man-months (excluding test scripts) with one developer (me) Enhanced over a year

New Testing Process Sample Test Script – JMeter Test Engine Load testing part of same test script Documents retrieved from TN database to test document transform assertions JMeter [4] test scripts are executed by JMeter instances controlled by metatest

New Testing Process Advantages –Cheap Open-source software, no new hardware cost Completely test automation - no tedium –Scalable No time increase with platform complexity - tests run in parallel –Coverage Includes load testing Can run selective tests, or run regression test an entire system in 5 minutes –No Human Errors Quality of QA improves –New Benefits Detailed test results, Test Driven Development, Continual testing Disadvantages –Typically, only specific assertions are automatically proven All differences not examined – this may be mitigated by using full- document assertions regular expressions adjusting for variances

Automatic archival of detailed results Data useful for: –Load and stress performance validation (eg: image on the right) [5] –Capacity planning –Trend Detection –Analysing software component failure rates New analytical methods can be applied to stored data in future New Testing Process New Benefit – Detailed Test Results

While not Unit Testing, our approach has several of the benefits of classical TDD: –Tests and code concurrently developed –Bugs replicated as tests and fixed –Bugfix tests added to test database –Simple tests –Brief run time for tests –Immediate testing feedback New Testing Process New Benefit –Test Driven Development

Continual Testing –Dev/Test/UAT tested nightly –Test & UAT also load tested (Load imposed = 4 x production load) –Results ed to developer list so they see it first thing in the morning (see image on right) Benefits –All platforms fully regression and load tested each night –Differential testing – identical tests run on different systems each night. When the results differ, bugs are identified by comparing the two systems. In example at right, failures are only on test in load testing… –The load imposed in load testing is updated to reflect growth. Thus, bottlenecks are identified before they hit production. New Testing Process New Benefit – Continual Testing

Documentation very important –Documentation crucial to getting developer buy-in –metatest architecture has 35 pages of user documentation (in addition to documentation for the tests themselves) When using open source components, expect bugs –Interact with developers of the component –Contribute if possible –Document problems, link to Bugzilla DBs etc Version control everything to do with testing –Test scripts –Even test engines binaries –Advantages: Branching/ Merging, new developer can be setup in minutes Leverage existing infrastructure –Most software can simulate endpoints. For eg: WM C1 OnRamp can create a CommerceOne envelope from XML Get a domain expert to write your tests Implementation Tips

Future Steps and Trends Plans to improve the metatest architecture –Implementing other types of testing –Integration with WmDeployer –Integration with CECM Verification Tool [6] Other Testing Resources in the WM space –Customwares WmUnit [1] –Wmusers.com article on testing using JUnit [2] –Solstice Software [3]

Future Steps and Trends webMethods Testing Support –WM response to group request for testing support:Currently no plans exist add unit testing or test service generation services to the developer. –However, WMs IDE is moving to the Eclipse platform. This should open up interesting possibilities with Eclipse plug-ins. –Server support: Ideally, on throwing an particular exception, a WM server would save the pipeline in a testcase format for bug replication on development server. (WM tool does this already?)

References [1] Customware website: [2] wmUsers.com testing article: [3] Solstice software website: [4] JMeter website: [5] Article on analysis of JMeter logfiles in stress testing: [6] CECM change verification tool described in: Management_Presentation.ppt