Blog

Why use object-based design in the test framework

Object-based design helps not only to create simple-to-understand and easy-to-use hierarchical structure, but also assists in development of more flexible system. Object-based design typically helps to get higher level of abstraction that could increase understanding the difficulty and costs.
20 March 2014
QA consulting
Quality assurance
The article by a1qa
a1qa

Setting up a test framework is no easy task when it comes to choosing the right approach. In the article below, we discuss the object-based design as the one helping to cut required resources and time.

Object-based design, or object-oriented design, is called for to validate object-based code, which includes testing of requirements, software design, code itself, and integration. This approach helps not only to create a simple-to-understand and easy-to-use hierarchical structure, but also assists in development of more flexible systems. Object-based design typically helps to get a higher level of abstraction that could increase understanding of the complexity and costs.

In addition to that, it significantly decreases the time of test development and support. So, in some way this could work, but how to cut both time and money spent? To explain this, we should mention other approaches widely adopted in QA outsourcing – the one based on behavior and the other based on keywords.

In the behavior-driven approach, testing is carried out based on how the system behaves, and together with other approaches to designing test frameworks, can give a more comprehensive overview of how system objects interact with each other and whether they meet user expectations. In the keyword-driven approach, testers simulate user actions too, but all of their activities revolve around certain keywords such as ‘closing a window’, ‘clicking the contact button’ and the like.

Object-oriented design can be opposed to behavior–based (or keyword-based) design, although it wouldn`t be correct. Just like with the behavior- and keyword-driven designs, you can use object-based design along with almost any other approach to test design too, for example, unit testing. For those testing professionals combining a few approaches, it could possible to get rid of negative effects thanks to the basic structure resulting from the application of object-based design, and the simplicity of keyword-driven testing.

Also, object-based design is in some way based on hierarchical patterns. Your test framework should use the class hierarchy to maximize the test coverage and to re-use tests or even test suites in subclasses. This approach is also the key to testing abstract classes. The hierarchical testing is based on the substitution principle, which means that an instance of a subclass can be used anywhere as an instance of its super-class. This is generally considered to be one of the main rules of object-oriented programming, so using this in a test framework can even encourage better object-oriented design.

One important notion to keep in mind is that the object-based approach isn’t always applicable. For example, if the tested system cannot be split apart into simpler objects and is purely functional, it’s better to consider another test design, as it is likely to serve better.

We’ll keep covering various testing methodologies, in particular, keyword-driven testing along with its advantages and drawbacks, so stay tuned.

The article is prepared by Yan Gabis

More Posts

Agile and DevOps in eCommerce QA_mini
30 September 2021,
by a1qa
5 min read
Agile and DevOps: Boosting the quality of eCommerce apps
What benefits do Agile and DevOps bring to eCommerce business, and how QA helps with that? Find it out in the article.
Agile
Quality assurance
AR/VR testing infographics mini
30 August 2021,
by a1qa
< 1 min read
AR/VR testing in retail: turning challenges into opportunities
Welcome to read the infographic on AR/VR in retail: new shopping experiences, issues, and how to address them with QA.
Quality assurance
6 October 2020,
by Dmitry Tishchenko
4 min read
A clear view of smart team scalability
Get to know how to scale your team sagely and gratify end-user needs and fast-paced tech-market requirements.
Agile
Quality assurance
6 August 2020,
by Elena Yakimova
5 min read
How to arrange fruitful joint work with an outsourcing QA team
The head of the web apps testing department sheds light on how to establish more transparent and effective work on the project cooperating with a remote QA team.
Quality assurance
4 June 2020,
by Vitaly Prus
4 min read
SAFe vs. Scrum, and PI planning essentials
Let's shed some light on the SAFe differences from Scrum that are to be considered by the development and QA teams who have migrated from Scrum.
Agile
Quality assurance
29 April 2020,
by a1qa
4 min read
5 lessons we learned from COVID-19
Here are five key lessons the businesses need to learn during this pandemic to somehow achieve the planned outcomes. 
Quality assurance
17 April 2020,
by a1qa
5 min read
QA-focused retrospective: identifying and solving project problems
The a1qa experts came up to consider an effective approach to identify project bottlenecks and get rid of problems successfully.
Agile
Quality assurance
31 March 2020,
by Dmitry Tishchenko
4 min read
QA outsourcing – the respond to unprecedented global challenge
How can companies meet their business-critical needs without health risks? QA outsourcing is the answer. Get to know why it is the right decision in this time of need.
QA consulting
Quality assurance
10 March 2020,
by a1qa
6 min read
Dedicated team model in QA: all you should know about it
Check on everything you should know about when to apply, how to run and pay for a dedicated team in QA.
Interviews
QA consulting
Quality assurance

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.