Firefly -- QA: Requirements & Tests

Click to check if your computer/browser supports HTML5 WebGL/3D 'Firefly' is a Software Environment to manage controlling processes, such as automated tests.

  • Controlling structure can be defined by BPMN diagrams, thus the flows are easily understandable and adjustable
  • Controlling statements can be given by simple JavaScript fragments
  • Firefly is based on the Weaveworld/ONCE (shortly: WW) platform on the top of the Java environment, so practically everything can be controlled, so tested

This way only basic knowledge of informatics is required to define processes, and the overall flow can be designed, reviewed, controlled and modified even by System or Business Analysts.
Moreover, the cost of automated User Acceptance Test can be reduced to 50% - 30%.

Using Firefly

  • Requirements can be defined: that means a Requirement-structure diagram, similar to a 'mind map'/'decision-tree'
  • Requirements can be checked: that is Test Automation using the powerful scripting environment
  • Requirements can be presented: that means the test runs can produce a slide-show like presentation


Firefly/Weaveworld has two operational modes ('Editions')

  • After the installation the program starts as a Personal Edition what is free to use.
    • The purpose of the Personal Edition is to develop and try 'Requirement-models' and other processes on a personal computer/laptop
  • Using a valid License file the program switch to Professional Edition.
    • The purpose of the Professional Edition is to create a Knowledge-center about the developed/used applications' features



Firefly also supports a new way of QA, that is called Requirement-driven Desing (RD), so Firefly has some unique technique, e.g.,:

  • Layering: Requirements can be organized into layers (using priorities), so validity can be checked only to a specific depth
  • Targeting: Validity checks can be narrowed for a given set of requirements
  • 'Multiversing', that solves the so-called combinatorial problem of testing
  • High-level browser control (based on the Selenium-framework)


Firefly is beneficial mainly for

  • Application Developers
    • Creating Acceptance Tests for software applications under development, e.g., to test User Stories
  • Software Testing Companies
    • Providing automatic testing, so tests can be later used for Regression Tests and Monitoring
  • Enterprises with critical applications
    • Monitoring the correct functioning of critical applications, user interfaces and services
    • Creating Function Maps (Maps of 'Use Cases') to retest user functions and generate reports/documents
    • Developing 'Regression tests' before extensions/modifications of critical applications

Registering New Customer's data in a Bank office

  • 'Firefly' is a powerful scripting environment to control ('orchestrate') Services, Web Applications and Java components or any other thing accessible from Java. Script fragments can access software components. Complex flow of control (the 'orchestration logic') can be given by easy-to-understand BPMN diagrams.
  • The aim is to provide a controlling environment what can be used without deep programming knowledge; even business analysts can tailor and control the overall logic.
start.txt · Last modified: 2017/01/10 08:36 (external edit)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0