Our automated solution at a glance By: Justin Hollander.

Slides:



Advertisements
Similar presentations
Absence Credit Tracking System April 10, Team Members: Joshua Allen Dave Kristensen Greg Ludwinski Samantha Ratnapuli.
Advertisements

Pennsylvania BANNER Users Group 2006 Integrate Your Decision Support with Cognos 8.
OWASP Secure Coding Practices Quick Reference Guide
A Toolbox for Blackboard Tim Roberts
Usage of the memoQ web service API by LSP – a case study
Oracle Hyperion Financial Data Quality Management Considerations for a scaled, expedited and integrated approach on data quality NCOAUG – Aug 15, 2008.
Individual Learning Plan for Kentucky. Background: Data Integration State-wide unique student identifiers are used to link information from a number of.
OVERVIEW TEAM5 SOFTWARE The TEAM5 software manages personnel and test data for personal ESD grounding devices. Test and personnel data may be viewed/reported.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Test Automation An Approach to Automated Software Regression Testing Presented by Adnet, Inc Feb 2015.
1 Title slide Future for Functional Test Automation? TM Forum – April 2006 Susan Windsor Insight Through Intelligence WMHL Consulting Limited, MD.
TD Ameritrade IT audit intern Ramez Mina. Position definition Department head  IT audit intern Managers  system analyst and developer to build automated.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Software Self-Testing
ENVIRONMENTAL DATA MANAGEMENT & SHALE GAS PROGRAMS INTERNATIONAL PETROLEUM ENVIRONMENTAL CONFERENCE NOVEMBER 14, 2013.
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
Business Intelligence (3 of 3): Technically Speaking, This is How We Did It PRESENTED BY.
Agile Testing with Testing Anywhere The road to automation need not be long.
“GENERIC SCRIPT” Everything can be automated, even automation process itself. “GENERIC SCRIPT” Everything can be automated, even automation process itself.
Software Testing Test Design and Implementation. Agenda Test Design Test Implementation Test Design Sources Automated Testing 2.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Struts 2.0 an Overview ( )
Students: Nadia Goshmir, Yulia Koretsky Supervisor: Shai Rozenrauch Industrial Project Advanced Tool for Automatic Testing Final Presentation.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
At the North of England Institute of Mining and Mechanical Engineers Library, Newcastle upon Tyne.
Student Success Plan for Delaware. SSP Homepage The SSP Homepage is the central point from which students can access all of the features and functions.
Best Implementation Practices for Discoverer April Sims OCP 8i 9i.
1 DAN FARRAR SQL ANYWHERE ENGINEERING JUNE 7, 2010 SCHEMA-DRIVEN EXPERIMENT MANAGEMENT DECLARATIVE TESTING WITH “DEXTERITY”
Christopher Jeffers August 2012
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Implementation - Deployment Methods of deployment –User PC –Network shared (workstation install) –Terminal server –Web Deployment (ActiveX) (Note: this.
Publish Calendars to the Web. CCUweb Presentation (10 Minutes) 1 Demonstration of published calendars (10 minutes) 2 Demonstration of importing calendar.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Winrunner Usage - Best Practices S.A.Christopher.
Project Ongo-08a Information Software is required that would Provide mathematical problems that will improve student’s problem solving skills Provide teachers.
Event Management & ITIL V3
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
File Systems and Databases Lecture 1. Files and Databases File: A collection of records or documents dealing with one organization, person, area or subject.
Project Overview Graduate Selection Process Project Goal Automate the Selection Process.
Jian Gui WANG New Implementation of Agriculture Models APAN19---Jan New Implementations of Agriculture Models Using Mediate Architecture.
Seybold 2001 Mark Stephens (Managing Director). Who are IDRSolutions? Based in United Kingdom. Customers mainly large corporations.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Learning Objectives Understand the concepts of Information systems.
Schedule of Tasks Summary Estimated Resources and Schedule Proposed Approach and Considerations Abstract Introduction Ames Community Schools (ACS) has.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Advanced Higher Computing Science
Web Application for Home Energy Assistance Program
Unit Testing.
LOCO Extract – Transform - Load
Understanding of Automation Framework
Modernization of Navigation Statistics Publishing
Download Microsoft Exam - Valid Question Answers - Realexamdumps.com
Design and Maintenance of Web Applications in J2EE
Test Data Management (TDM)
Why many Automation Frameworks? when ONE can do ALL
Lecture 1: Multi-tier Architecture Overview
The Automation of the U.S. Budget Appendix Volume
Lecture 1 File Systems and Databases.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Agile testing for web API with Postman
Prepared by Peter Boško, Luxembourg June 2012
Employee Monitoring Solution
DBOS DecisionBrain Optimization Server
SSDT, Docker, and (Azure) DevOps
OU BATTLECARD: Oracle Utilities Learning Subscription
Framework Anil
Presentation transcript:

Our automated solution at a glance By: Justin Hollander

About the Presenter Employed at Squirrel Systems since August 2007 as a QA Developer/Analyst Volunteered one year in Guatemala to help build an online system for the Central American district. Trained staff and volunteers to use the systems. Prepared manuals and other documentation BCIT Alumni and currently attending BCIT

About the Presentation Benefits of Automation Description of automation needs at Squirrel Systems Design goals vs. cost considerations Previous attempts at solving the automation / autoretest problem The current design of our autoretest solution Problems we overcame Future Considerations Questions and Answers

Our Automation Needs Intended to reduce overhead of manual certification checklists To allow other testers to do more functional / exploratory testing on other parts of the system that cannot be tested in an automated fashion Consistency in testing. Day in and day out.

Previous Attempts Attempt 1: Batch processing, relied on playback utilities, with an Access Database(DB) to manually track successes and failures of the running scripts Attempt 2: Improved batch processing(more readable scripts), relied on playback utilities, without the Access DB to track the successes and failures of the running scripts

Problems with Attempt 1 Script information and state were manually tracked Batch scripting is not as flexible or powerful as a programmatic solution to get the options you need for a comprehensive automated solution Results were not archived and therefore could not be linked Output was in a raw text only format and very cumbersome to process manually Too many false positives as comparison was blind, and not intelligent, nearly impossible to trust results

Problems with Attempt 2 Same as attempt 1, except now, without the Access DB, there was no way to track the running scripts Solution was scaled back due to resource constraints and the project had a hard time getting traction and support Ultimately, the project was suspended

What we Learned Automation/autoretest is more complex than we thought There is no “easy” solution Externalizing our test input data while using our playback utilities to retest the system is impossible At a minimum; output data must be analyzed better to eliminate false positives Batch scripting isn’t working A more dedicated approach is required

Autoretest, TAKE 3! We decided to try this again Decision to scrap previous work and start again from design phase Requirements were well understood, however, the right skill-set was missing until now

High level Design vs. Cost Design goals Cost Considerations To use existing playback tools within a framework to retest recorded ‘tracks’ Use intelligent comparison algorithms to rule out false positives Output results in a human friendly format in order to ensure a quicker analysis of the potential problems Externalize the test input data from the system Re-usable parts to extend framework to all parts of POS system Limited to 40 man-hours a week(Basically me ) Development team on a tight schedule and have limited resources for this project No money for off-the-shelf solution Management wanted a solution rather quickly(6 months) Money already invested; 2 previous attempts in solving this in last 5 years have failed

The Current Design Client/Server model Written in Java with easy to use administrative GUI Externalized data as much as possible Used intelligent output comparison algorithms One DB configuration supports one or more test scripts Supports XML processing Comparison output formatted in HTML Automatically detect if software that is being tested is the current build. Will update if needed

The Current Design cont.. Test outputs and comparison results archived to achieve the possibility of linking of historical data to present results Script information stored in a relational SQL DB Script information linked to GUI using custom written SQL driver Script states linked to scripts via GUI and they are not static Client has a head-less mode supported by multi-threaded timer mechanism Extensible due to its polymorphic nature and can easily support additional forms/levels of testing

Screenshot of GUI

Screenshot of formatted Output

Screenshot of XML Utilization

Code Sample – DB Compare private static void processRows(Vector vB, Vector vR) { if (vB.toString().equals(vR.toString())) //table contents equal?? { vB.removeAllElements(); vR.removeAllElements(); } else //everything not equal probable bug or code change in squirrel { if (vB.size() == vR.size()) //just mismatches ?? { for (int i = 0; i < vB.size(); ++i) { if (vB.get(i).equals(vR.get(i))) { vB.set(i, "VALID"); vR.set(i, "VALID"); //the only ones not tagged are the mismatches and the can get filtered out while still preserving the row number } else if(vB.size() > vR.size()) //missingData ?? validateDifferentSizeTable(vR,vB); else if(vB.size() < vR.size()) //extraData, this should be rare validateDifferentSizeTable(vB,vR); }// that should leave us with any differences for the HTML Manager to process further. }

Problems Solved with this implementation All DB false positives have vanished We are able to use our scripts longer, as it is easier to trust output with limited false positives Output is easy on the eyes with HTML colour coded output Playback utilities have been made more robust System is much more configurable than before

Considerations for the Future Remote Web Administration using JSP and Java servlets Make better use of RMI technology and turn this into a distributed system from a client/server model Completely externalized data Build robots to do the maintenance on the system

Questions and Answers