views:

42

answers:

2

I'm working on establishing automated testing practices and test suites in an organization. A peer is telling me that we "should use a framework". To me, a framework is any set of code and/or other tool that helps you create something.

My peer seems to be suggesting that there are industry standard automated testing frameworks.

I've seen the following patterns in designing Test systems before:

  • Data Driven
  • Keyword Driven
  • Model Driven
  • Query Driven

My counterpart includes "Modular" as one of these. Because of my background in Software Engineering, I hear the word "Modular" and think of modular programming (as opposed to object-oriented, aspect-oriented or procedural programming)... a way of organizing code, not a methodology or framework type in and of itself.

I've seen the wikipedia definition for "Modular Automation" and it looks the same as the programming paradigm.

What am I missing? What can I read to get on the same page as my counterpart? Is it me or him that doesn't understand something? I have over a decade of software engineering experience, my counterpart has been in QA for nearly that long. He's not able to site references. I've searched the google for 6 hours now trying to learn about this "Modular Framework" and can't find a technical example and nothing more than the standard programming paradigm (e.g. organize code into modules).

A: 

It turns out the major industry-standard designs for automated testing are:

  • Data Driven
  • Keyword Driven
  • Model Driven
  • Query Driven

Additionally, "hybrid" approaches are used. These are approaches in which more than one of the above designs are used.

In a number of places on the web (including wikipedia) "Modularity Driven" test case design is mistakenly referred to as if it were one of the automated test case design strategies listed above. The definition of this mistaken term ("Modularity Driven") appears to have more to do with the organizational aspects of coding than the way in which One drives an automated test. "Modularity Driven" automated testing is a misnomer (or mistaken term altogether). In other words, there is no such thing. The term "modular" describes the programming paradigm being used.

The modular aspect of a test is in its organization, storing code in modules as opposed to other programming paradigms like OOP, or Procedural, etc.

fooMonster
A: 

I have heard of Modular Automation also referred to as Component Based Test Case Design. HP is a big player in this space. The came up with a Product that is called Business Process Testing.

It consists of:

•Reusable Business Components

•Business Components converted into Business process test

Business components are reusable units that perform a specific task in a business process. (for example – Add to Cart) A business process tests is a scenario comprising of business components (for example - Place an Order)

In HP's Quality Center the Business Components module enables you to create and manage reusable business components.

Then the Test Plan module enables you to drag and drop the components into business process tests, and debug the components.

Kevin Sullivan