Herwin van Welbergen, Yuyu Xu, Marcus Thiebaux, Wei-Wen Feng, Jingqiao Fu, Dennis Reidsma, Ari Shapiro.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Workflow Purpose
Test Yaodong Bi.
xUnit Test Patterns (Some) xUnit Test Patterns (in practice) by Adam Czepil.
Acceptance Testing.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
ONYX RIP Version Technical Training General. Overview General Messaging and What’s New in X10 High Level Print and Cut & Profiling Overviews In Depth.
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Software Testing Workshop Regression Automation 11-Jul-08 COPYRIGHT NOTICE Copyright © 2008 Polaris Software Lab Limited All rights reserved. These materials.
1 Software Engineering Lecture 11 Software Testing.
Herwin van Welbergen Dennis Reidsma Stefan Kopp.  Beyond turn taking interaction ◦ Continuous perception and behavior generation  Interpersonal coordination.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Software Testing.
ARCS Data Analysis Software An overview of the ARCS software management plan Michael Aivazis California Institute of Technology ARCS Baseline Review March.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Maintaining and Updating Windows Server 2008
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Unit Testing Using PyUnit Monther Suboh Yazan Hamam Saddam Al-Mahasneh Miran Ahmad
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Copyright © Panaya Oracle ® E-Business Suite Testing: How to Get Your Business Users On-Board Amir Farhi Director, Product Marketing.
Process-oriented System Automation Executable Process Modeling & Process Automation.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Lecture 6 Software Testing and jUnit CS140 Dick Steflik.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
CPIS 357 Software Quality & Testing
 CS 5380 Software Engineering Chapter 8 Testing.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Event Management & ITIL V3
Testing Workflow In the Unified Process and Agile/Scrum processes.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Making Good Code AKA: So, You Wrote Some Code. Now What? Ray Haggerty July 23, 2015.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Automated Test Framework for SIP Elements SIP Protocol Compliance.
Interoperability Testing. Work done so far WSDL subgroup Generated Web Service Description with aim for maximum interoperability between various SOAP.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
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.
Multimodal Plan Representation for Adaptable BML Scheduling Dennis Reidsma, Herwin van Welbergen, Job Zwiers.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Automated Testing April 2001WISQA Meeting Ronald Utz, Automated Software Testing Analyst April 11, 2001.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Tools for Automated Testing Presented by: Žygimantas Mockus.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Subject Name: Software Testing Subject Code: 10CS842 Prepared By:
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Integration Testing.
Software Testing.
Applied Software Implementation & Testing
Some Important Techniques For Regression Testing That You Must Know.
Lecture 09:Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Continuous Integration
Hardware-less Testing for RAS Software
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Herwin van Welbergen, Yuyu Xu, Marcus Thiebaux, Wei-Wen Feng, Jingqiao Fu, Dennis Reidsma, Ari Shapiro

 Testing the adherence to the BML standard by realizers  (and, by this, also testing for weaknesses in the standard)  Better software engineering practices for virtual humans ◦ Daily automated testing (regression, acceptance, …)

 bml1 starts (globaltime=10)  gaze1 starts (localtime=0)  gaze1 ready (localtime=1)  speech1 start (localtime=1)  …  speech1 end (locatime=10)  bml1 ends (globaltime=20)

 BML Realizers are complex software components  They form the backbone of virtual human applications by research groups  Yet their testing has so far been limited to time consuming manual inspection of the execution of BML scripts

 Automatic tests are automatic ◦ No wasted developer time  Automatic tests can be run often ◦ Early error detection

 A realizer provides standardized interface ◦ BML goes in ◦ Feedback comes out  Several realizers implement this interface  We can make automatic tests for this interface  These tests can be used for all realizers implementing the interface

 Message flow and behavior execution  Adherence to time constraints  Error handling  Acceptance testing

 Send BML to a realizer, capture all feedback  Wait until the realizer has executed the BML  Verify assertions on the received feedback

Hey punk what do ya want? What can we assert about the expected feedback? - All default sync points remain in order for all behaviors - The head nod will start within |ε| seconds of the start of “what” - Speech1 starts within |ε| seconds of t=6 - There will be no exceptions or warnings - The block will end …

Hey punk what do ya public void testSpeechNodTimedToSync() { realizerPort.performBML(readTestFile("testspeech_nodtimedtosync.xml")); waitForBMLEndFeedback("bml1"); assertSyncsInOrder("bml1", "speech1", "start", "ready", "stroke_start", "stroke", "s1", "stroke_end", "relax", "end"); assertAllBMLSyncsInBMLOrder("bml1", "nod1"); assertBlockStartAndStopFeedbacks("bml1"); assertRelativeSyncTime("bml1", "speech1", "start", 6); assertLinkedSyncs("bml1", "speech1", "s1", "bml1", "nod1", "start"); assertNoExceptions(); assertNoWarnings(); }

 A generic testing framework that can test all BML Realizers  Provides a set of tests + assertions  And functionality to easily author new tests ◦ Utility methods (e.g. waitForBMLEndFeedback) ◦ Custom assertions (e.g. assertLinkedSyncs)  Code and tests released on SF, together with a nice set of example movies to showcase various realizers

 Using RealizerTester ◦ Additional tests for Elckerlyc specific functionality ◦ Regression testing ◦ Acceptance testing  Running all tests takes some time (~3 min.) ◦ This might discourage frequent testing by developers ◦ => Run tests automatically on a continuous integration server  Notify developers that commit a build that fails tests  Keep track of test result history

 RealizerTester does not help in identifying the exact location of errors ◦ It tests a Realizer as a black box ◦ Elckerlyc uses additional white box testing at a smaller granularity to identify the exact location of errors  >1000 unit + mid range tests, running in <10s  RealizerTester helps in identifying locations that require more unit testing  Regular visual inspection is still valuable!

 Visual regression testing ◦ Record a baseline ◦ Does it (approximately) look like the baseline? ◦ Automatically check difference with baseline ◦ If different  Bug: fix  New functionality: create new baseline

 Visual regression testing: ◦ checks whether the correct motion is generated rather than whether the correct signals are sent ◦ is Realizer and character dependent ◦ does not provide acceptance testing  RealizerTester is complementary to visual regression testing

 Dealing with BML versions  Took 1 day to implement  Found some unclarities in BML (e.g. feedback ordering) now addressed in 1.0  Found some minor implementation issues in SmartBody  Did not find any interpretation differences in the constraint satisfaction

 Designing test cases + assertions ◦ Highlighted several cases in which the current BML specification lacked detail or was unclear  Setting up a video corpus ◦ Highlighted some expressivity issues in the BML standard ◦ Shows that several behaviors are executed in a semantically equivalent manner ◦ Created a healthy competition between the developers ◦ Motivated developers to move to better BML compliance

 The modularity proposed by SAIBA enables the reuse of testing functionality  Designing a generic testing framework and a shared video repository helps move the standard forward  BMLRealizerTester provides a starting point for a BML compliance test suite

 XML format to author tests using BML and assertions expressed?  Add more realizers (PLEASE CONTACT US!) ◦ Full BML compliance is not required ◦ Support for feedback is required  Include newest version of BML standard discussed last Wednesday  Continue extending our repository of nice example movies

contact: