Automating Automatic Testing – Part 1, Intro on testing – Part 4, Bring Your Own Code



Automating Automatic Testing – Part 1, Intro on testing – Part 4, Bring Your Own Code

0 0


jsfoo-2013-workshop

BugBuster workshop @ JSFoo 2013

On Github bug-buster / jsfoo-2013-workshop

Automating Automatic Testing

Renault John Lecoultre, Olivier CrameriCo-Founders, BugBuster

http://bugbuster.com@BugBuster_Inc

Who are we?

Bunch of coders from EPFL, Switzerland

Background in dynamic analysis, the web and JavaScript

About BugBuster

Robot for exploring JavaScript & HTMLcurrently in beta

Goal: improve overall application quality

How: test more with less effort

Today's menu

Hands on, bring your own code!

Intro on testing in general Unit testing: Jasmine and Unite Integration testing: Selenium and BugBuster

Tomorrow: theory

Dynamic analysis introduction Some implementation details

Following the workshop

https://github.com/bug-buster/jsfoo-2013-workshop

Part 1, Intro on testing

Software Testing Purpose

Prove that your software works

Show that your software DOES NOT work

What should I test for?

Code (technical errors) Functionalities (business logic errors) Compatibility (cross-browser issues) Performance (speed) Security Usability: is it easy to use

Methods

  • Manual
  • Unit testing

    Test a small unit of code, such as a function

  • Integration testing

    Test the entire stack

Recurring testing challenges

Time & effort
  • To write tests
  • To maintain tests

    Tests become obsolete as code evolves

Insufficient coverage
  • Difficult to cover all paths of a program

BugBuster's technology

Dynamic Analysis of HTML & JavaScript Enables generation of test cases from code

i.e. new input sequences for covering more paths

Useful with Unit tests & Integration tests

Reduce effort, Improve coverage, Improve quality

Part 2, Unit testing

Part 3, Integration testing

Part 4, Bring Your Own Code