Towards Further Automation of the Quality Assurance Cycle Alan Berg: University of Amsterdam Central Computer Services (IC)‏ Group Education and Research.

Slides:



Advertisements
Similar presentations
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai development tips Aaron Zeckoski
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
8th Sakai Conference4-7 December 2007 Newport Beach What does Quality Assurance Mean to Sakai? Alan Berg Megan May Seth Theriault.
Strategies for solving scientific problems using computers.
HP Quality Center Overview.
Build your Android App with Gradle Android new build system.
Automating with Open Source Testing Tools Corey McGarrahan rSmart 01-July-08.
Test Automation Framework Ashesh Jain 2007EE50403 Manager Amit Maheshwari.
Java development infrastructure at FMI Pekka Rantala FMI.
Grid and CDB Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Batch Production and Monte Carlo + CDB work status Janusz Martyniak, Imperial College London MICE CM37 Analysis, Software and Reconstruction.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Background Info The UK Mirror Service provides mirror copies of data and programs from many sources all over the world. This enables users in the UK to.
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
Agile Testing with Testing Anywhere The road to automation need not be long.
What does QA mean to Sakai? Megan May – Sakai Foundation Aaron Zeckoski – CARET Alan Berg – UVA David Horwitz – Cape Town Seth Theriault- Columbia Linda.
Automation using Selenium Authored & Presented by : Chinmay Sathe & Amit Prabhu Cybage Software Pvt. Ltd.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Simship.com LRC, September 22, 2004 Dr. Stephen Flinter Connect Global Solutions.
PHP, QA, and Jenkins Eric Cope June 25, 2013
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
Maven & Bamboo CONTINUOUS INTEGRATION. QA in a large organization In a large organization that manages over 100 applications and over 20 developers, implementing.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Selenium automated testing in Openbravo ERP Quality Assurance Webinar April 8th, 2010.
OGCE Building and Testing on NMI Slides by: Rishi Verma.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
AUTOBUILD Build and Deployment Automation Solution.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Development Methodology N. Draper. Introduction Development Process Test driven development Continuous Integration –Automated build and test Trac Ticket.
Sakai Best Practices Alan Berg, Interim QA Director, Sakai Foundation Aaron Zeckoski, Software Engineer, Unicon and Maint Team Lead, Sakai.
Luminance.  Major group refactoring.  Development Lead: Stephen Damm.  Project Manager: Martina Nagy.  Test team member: Chet Collins.  A lot of.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
Selenium and Selenium on Rails. Agenda  Overview of Selenium Simple Selenium Tests Selenium IDE  Overview of Selenium on Rails  Problems with Selenium.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
Samba – Good Just Keeps Getting Better The new and not so new features available in Samba, and how they benefit your organization. Copyright 2002 © Dustin.
Unit Testing with JUnit and Clover Based on material from: Daniel Amyot JUnit Web site.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Sakai development and app/tool tips Aaron Zeckoski
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
CERN IT Department t LHCb Software Distribution Roberto Santinelli CERN IT/GS.
Database Projects in Visual Studio Improving Reliability & Productivity.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
ANU COMP2110 Software Design in 2003 Lecture 10Slide 1 COMP2110 Software Design in 2004 Lecture 12 Documenting Detailed Design How to write down detailed.
(1) Test Driven Development Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Ant / continuous integration. Turning Client Vision into Results 2 Outline presentation Introduction Ant –History –Concepts –Tasks –Examples –Extending.
APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Software Deployment & Release 26/03/2015 1EN-ICE.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Open-O Integration Project Introduction
Leveraging R and Shiny for Point and Click ADaM Analysis
Selenium and Selenium on Rails
DataGrid Quality Assurance
Infrastructure Orchestration to Optimize Testing
Google Web Toolkit Tutorial
Test Driven Development 1 November Agenda  What is TDD ?  Steps to start  Refactoring  TDD terminology  Benefits  JUnit  Mocktio  Continuous.
Building a Custom Gadget in OU Campus
Module 01 ETICS Overview ETICS Online Tutorials
Agile testing for web API with Postman
Bringing more value out of automation testing
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Software Engineering and Architecture
Presentation transcript:

Towards Further Automation of the Quality Assurance Cycle Alan Berg: University of Amsterdam Central Computer Services (IC)‏ Group Education and Research Services

But first an advert

QA or the Sakaiger gets it

QA’ing helps you get the toy

We have only 30 minutes, so only a brief biased personal snapshot is possible

Agenda The potential for a QA event horizon What does the QA WG want? Current hints to the developer –Where are we The Sash Tool Jameleon Conclusions

The QA event horizon Risk losing a deterministic QA cycle

To remain deterministic we will need more automation

The QA event horizon Risk losing a deterministic QA cycle The Obvious Code base increasing rapidly Not just Java, but also XML, Javascript, Python,CSS and many Java frameworks Iterative process that requires defined response times Requires manpower/resources on time Would love QA as part of Continuous Integration

What does QA WG want? A "stack" of open source tools for load testing and nightly integration testing A load-testing repository and "cookbook" for open source tools Regression testing work flow QA Process - no tool makes it into the core (stable) set of tests QA Process - no bug in JIRA is closed without an automated test that checks for that bug. A+Test+Automation

Hints to the developer

Supporting developers Nightly –builds – Continuum [Claret] –Javadocs - [nightly] –Static code reviews – [UvA] –Internationalisation - [LOI ] –Unit testing [ developers ] – Potentially through Continuum -Mock objects from Josha Holtzman Knowledge capture [Confluence, community, conferences]

Hinting nightly

Random Example

Duplicate Code

Do we wish to use the reports more aggressively? Are the developers taking note? –Bugs reported are not always correct –Bugs found not always important –But duplicate code, unit test coverage, and failing to deal properly with exceptions hint strongly at quality. Answer probably not, but thankfully trends in the marketplace will improve the quality of results overtime.

The Sash Tool

AWSOMEAWSOME

Realistic Proof of Concept Provision tool –add/delete users,sites,members,tools,permissions –upload files from file system to dropbox/resources –Controlled by a property file in site resources liveTest Diagnose Report But have we enough API’s to do the job?

SASH TOOL (Steven Giffens)‏ Live Brilliant for learning Environment that targets sys_admin Easy to extend commands Consistent use of cover api's allow services to be easily guessed. Use to write provision, diagnose, live test tools. Just requires imagination and Sakai specific knowledge.

import org.sakaiproject.tool.cover.ToolManager; import org.sakaiproject.tool.api.Tool; import org.sakaiproject.component.cover.ComponentManager; import org.sakaiproject.content.api.ContentHostingService; ident="...."; all = ToolManager.findTools(null, null); counter=1; for ( Iterator i = all.iterator(); i.hasNext(); ) { tool= i.next(); print("["+counter+"] "+tool.getTitle()); print("ID : "+tool.getId()); print(ident+tool.getDescription()); print (ident+ident); counter++; } counter=1; print ("Interfaces"); inters = ComponentManager.getRegisteredInterfaces(); for ( Iterator i = inters.iterator(); i.hasNext(); ) { inter= i.next(); print("[: "+counter+"]"+inter); counter++; } Trunk Tools=104,Interfaces=568 live Uses covers Consistent use of java.utils LIVE

Cover like... import org.sakaiproject.test.cover.TestManager; import org.sakaiproject.testl.api.Test; all = TestManager.findTests(TestManager.RUNALL); counter=1; for ( Iterator i = all.iterator(); i.hasNext(); ) { test= i.next(); print("["+counter+"] "+test.getTitle()); print(test.getDescription()); try{ print(test.doTest()); }catch(FailedTestException e){ print(“Error was: “+e.getMessage()); }finally{ counter++; }

Remember QA Process - no tool makes it into the core (stable) set of tests BRAINSTORM ONLY Push tests back to the developer Runs against a live system Can be removed at compile time for production distributions Non standard [Yeuch] Consistent, and test driven Easy to script through Sash Only solves a certain significant class of tests

Jameleon

Regression testing workflow CRITERIA Run automatically Results consistent Many roads to Rome. –Selenium RC –Selenium RC wrapper in Maven, Python, Ant Cost benefit ratio favourable

Jameleon - Proof of Concept Wrapper around Selenium RC and other tools –Junit,Jiffie (Internet Explorer,HttpUnit,generic)‏ Configured via XML Generates reports Can run headless via cron or continuum Data driven Almost self documenting

Data driven Makes tests server generic Property file per organization –uva.properties name=admin pass=admin base=qa1-nl.sakaiproject.org:8380 csv with variables defined in first line eid newbiex newbie2

Self documenting

Add user to SakaiQA Alan Berg SMOKE Add User to Sakai ${baseUrl} <selenium-session startSeleniumProxy="true" application="uva" beginSession="true" seleniumMultiWindowMode="true" seleniumStopProxyServerOnSessionClose="true"> XML test cases

Workflow From Cron –Download and build Sakai –Copy different scripts to directory –Run Jameleon (can run against IE, Firefox, Opera etc)‏ –Generate reports –Move reports to website Can be added as a script to run to continuum

Results Works Selenium plug-in still beta Tests are fragile and require maintenance Will require a significant effort for basic coverage Still very promising and should be considered. HATS OFF TO THE DEVELOPERS

My plans I have one day a week free to: –Concentrate on Sash scripts –Wait until the next release of Jameleon. –Beg the big brains to build a realistic test manager.

Questions ??? ? ?