Skip to the main content.

Curiosity Modeller

Design Complex Systems, Create Visual Models, Collaborate on Requirements, Eradicate Bugs and Deliver Quality! 

Product Overview Solutions
Success Stories Integrations
Book a Demo Release Notes
Free Trial Brochure
Pricing  

Enterprise Test Data

Stream Complete and Compliant Test Data On-Demand, Removing Bottlenecks and Boosting Coverage!

Explore Curiosity's Solutions

Our innovative solutions help you deliver quality software earlier, and at less cost!

robot-excited copy-1              AI Accelerated Quality              Scalable AI accelerated test creation for improved quality and faster software delivery.

palette copy-1                      Test Case Design                Generate the smallest set of test cases needed to test complex systems.

database-arrow-right copy-3          Data Subsetting & Cloning      Extract the smallest data sets needed for referential integrity and coverage.

cloud-cog copy                  API Test Automation              Make complex API testing simple, using a visual approach to generate rigorous API tests.

plus-box-multiple copy-1         Synthetic Data Generation             Generate complete and compliant synthetic data on-demand for every scenario.

file-find copy-1                                     Data Allocation                  Automatically find and make data for every possible test, testing continuously and in parallel.

sitemap copy-1                Requirements Modelling          Model complex systems and requirements as complete flowcharts in-sprint.

lock copy-1                                 Data Masking                            Identify and mask sensitive information across databases and files.

database-sync copy-2                   Legacy TDM Replacement        Move to a modern test data solution with cutting-edge capabilities.

Explore Curiosity's Resources

See how we empower customer success, watch our latest webinars, read our newest eBooks and more.

video-vintage copy                                      Webinars                                Register for upcoming events, and watch our latest on-demand webinars.

radio copy                                   Podcasts                                  Listen to the latest episode of the Why Didn't You Test That? Podcast and more.

notebook copy                                           eBooks                                Download our latest research papers and solutions briefs.

calendar copy                                       Events                                          Join the Curiosity team in person or virtually at our upcoming events and conferences.

book-open-page-variant copy                                          Blog                                        Discover software quality trends and thought leadership brought to you by the Curiosity team.

face-agent copy                               Help & Support                            Find a solution, request expert support and contact Curiosity. 

bookmark-check copy                            Success Stories                            Learn how our customers found success with Curiosity's Modeller and Enterprise Test Data.

file-document-multiple (1) copy                                 Documentation                            Get started with the Curiosity Platform, discover our learning portal and find solutions. 

connection copy                                  Integrations                              Explore Modeller's wide range of connections and integrations.

Better Software, Faster Delivery!

Curiosity are your partners for designing and building complex systems in short sprints!

account-supervisor copy                            Meet Our Team                          Meet our team of world leading experts in software quality and test data.

calendar-month copy                                         Our History                                Explore Curiosity's long history of creating market-defining solutions and success.

check-decagram copy                                       Our Mission                                Discover how we aim to revolutionize the quality and speed of software delivery.

handshake copy                            Our Partners                            Learn about our partners and how we can help you solve your software delivery challenges.

account-tie-woman copy                                        Careers                                    Join our growing team of industry veterans, experts, innovators and specialists. 

typewriter copy                             Press Releases                          Read the latest Curiosity news and company updates.

bookmark-check copy                            Success Stories                          Learn how our customers found success with Curiosity's Modeller and Enterprise Test Data.

book-open-page-variant copy                                                  Blog                                                Discover software quality trends and thought leadership brought to you by the Curiosity team.

phone-classic copy                                      Contact Us                                           Get in touch with a Curiosity expert or leave us a message.

5 min read

Continuous Development: Building the thing right, to build the right thing

Continuous Development: Building the thing right, to build the right thing

Test Automation is vital to any organisation wanting to adopt Agile or DevOps, or simply wanting to deliver IT change faster.

If you pose the question to a stakeholder, “what do you hope to achieve from your testing?”, the common answer you receive is to assure quality. But the more you delve into organisation dynamics of test automation, the answer appears to be different.

It seems the overriding motivation for automating testing is not quality, but to go faster and bring the cost of testing down. That’s sounds a little cynical, but is surprisingly common when you take a step back and look at organisational dynamics, especially where delivery dates drive the culture of an organisation.

You might be thinking, “Isn’t quality implicit in doing the activity of testing anyway?” Or, that by accelerating testing through automation, quality will inevitably pop out. This could be true, but not when there’s a fundamental problem in the way organisations understand quality and the role that testing plays in it. In this instance, faster testing does not equate to better quality.

Ask yourselves, how do your test teams report on testing activity and its outcomes? Is it based on tests completed and test coverage – and possibly the dreaded “we’ve got 100% test coverage”? Then consider why stakeholders might still question quality when you tell them you’ve achieved 100% test coverage? What do you really mean by it?

Quality lessons learned from 16+ years of test transformation

Having spent many years trying to create technical test capability from within a traditional Centre of Excellence, I found many successes. They ranged from creating a centralised automation team and standardising frameworks, to creating an environment virtualisation capability. Yet, all of it seemed somehow too short term and too bespoke.

It dawned on me whilst facing into the challenges of creating a centralised Test Data capability that what we were doing, and always had been doing, was building on shaky foundations. We didn’t know what the product was supposed to be doing upfront. How could we then prove it did it, let alone try and automate the unknowns requirements, create test data for them, and create representative interfaces to test them?

Garbage in garbage out scenarios in software

Figure 1 – Does limited upfront understanding risk a “garbage in, garbage out” scenario in your testing?

In truth, we were being reactive, redesigning the systems through the medium of testing. The rate of change wasn’t helping the problem, nor were the traditional ways of creating mounds of test cases in the usual Test management tools. In fact, both were exacerbating it, creating ever more tests of questionable value, while providing the false confidence to stakeholders that running 000’s of tests equates to “Quality”. We were shifting right when we should have been shifting left.

Shift Left to Build the Right Things

But shift left shouldn’t be for testing alone, a point that is often overlooked. As a collective, we’d let ourselves move IT change to the right, knowing the foundations weren’t right. As testers, we’d lost the craft of testing, growing more focused on making the automation work rather than ensuring that the automation is testing the right things.

The same can be said of our amigos who we work with from design and development: there doesn’t seem to be a common understanding of “Build the thing right, build the right thing!”

The obvious leading indicator of this problem for your test team is to ask, how does your test approach compliment the architecture or design patterns of the team, if there even are any? Or how does it compliment the delivery methodology? If your teams are working in two week sprints and you have a big end-to-end testing phase at the end, chances are you’ve got Agile theatre and need to look at “building the thing right” again as a team.

Testing’s critical role in understanding and collaboration

Concentrating on building the thing right will very quickly lead to collaboration and conversation around “unknowns”: solutions that start life as black boxes or have grown too complex over time. Using techniques like modelling to prototype design thinking and capture conversations can very quickly help to visualise previously undiscovered rules or assumptions that have muddied the understanding of the team and stakeholders regarding how the system actually works. 

I’m keen to stress here that, although tooling is an enabler, it certainly doesn’t end with buying a tool and doing the same things we always have. That would just be committing the same mistakes under a new buzzword – a mistake we are all currently living in in some way or another.

What we are really talking about, at its core, is critical questioning and collaboration, as well as understanding where to target appropriate effort to achieve a quality outcome.

We should build models, but this should be as an aid to the conversations, queries, rules and beyond that we need to illicit from various stakeholders. Models provide a structured representation of “Are we building the right thing?”. Through this questioning, we realise that we actually have many customers who have needs to meet (be that compliance, security, operations), as well as the end consumer of the software being created.

Models allow us as testers to have a richer conversation, but they also make up the “just enough documentation” for the wider team. In this way, our models become the living specifications:

Modelling as living documentation and a richer conversation for software delivery

Figure 2 – Modelling allows for a richer conversation and provides the living documentation needed for the wider team.

Models should break down complexity – not add it

Modelling is immensely valuable, but the approach taken matters. “Static” modelling, in design and test, offers short term benefits, but can become a source of technical debt. This will occur as the modelled systems inevitably become more complex, with more features added.

Static modelling might include using products like Office (Word, Excel, Vision), or some of the newer tool offerings which seem to come hand in hand with the Agile sales pitch. It differs from “living” specifications (models), which can guide you to the impact of change. This is the key factor in keeping the continuous delivery train rolling and in preventing “layering”, in which understanding is spread across multiple locations and becomes hard-to-maintain.

Modelling to become test automation-ready

So, in our teams we now have models, and those models are based on rules of the system and methodical questioning. We now have a tick in the box for building the right thing! At the same time, we’ve also created the perfect environment of predictable and repeatable criteria with absolute expected results. And now we are ready to give the stakeholders what they want…. Automation!

The difference is, we are now creating automation for all the right reasons. We know that each test derived from the model is a valuable one, meaning we can confidently articulate that testing activities achieve the verification element of the solution:

Automated test and data generation from a collaborative conversation about the right system

Figure 3 – Test automation is rooted in a conversation and consensus regarding the desired system, articulating that we are testing the right things.

While we derive tests from the model, we should always augment our testing with exploration. What’s key is that we feed what we learn back into our models, so that we are always stretching the bounds of understanding, appreciating that we can never know all:

Testing volcanoes and the importance of continual learning

Figure 4 - Testing volcanoes and the importance of continual exploration/learning.

Modelling to make sure we build right and test right

So far, so good: We’ve started modelling (structured flows), asked questions, and all of our problems have gone away. Except they won’t if we don’t change where we target our validation. If we are too concentrated on business flows alone, we create business flow models which in turn force a test approach which is too UI based. Yet, we know testing on the UI is slow and automation of the UI is the hardest to achieve.

Instead, we need to look at the right shaped approach to ensure that we validate how things are imagined to work under the “iceberg” of a solution we are being asked to test. We must validate (model) at the service/API level, and those models have to connect to the business flows:

Testing across the whole tech stack and testing pyramid

Figure 5 – Testing across the whole tech stack and testing pyramid.

Otherwise, how will verification ever have a chance of proving something that’s never been defined other than in the head of a developer, or in an out-of-date, happy path, static specification? Infrastructure is often ignored, but can that still be the case given the proliferation of cloud?

A quality-centric approach

Breaking down traditional silos and understanding quality is something that requires consensus before it can be proven. This seems to be the fundamental “elephant in the room”, often missed in the pursuit of Continuous Testing. Where it is understood, automation thrives.

Yet, the interesting cultural shift is that those stakeholders who sponsor these high-performing teams also understand that quality isn’t born from test automation. Instead, automation is an outcome of taking the time to define upfront what quality means.

Inspection does not improve the quality, nor guarantee quality. Inspection is too late. The quality, good or bad, is already in the product. As Harold F. Dodge said, “You can not inspect quality into a product.”

- W. Edwards Deming (The MIT Press: 2000), Out of the Crisis, P. 29.

 

Learn more about the value of modelling for software delivery in Curiosity's "Art of Modelling" video series. Want to see the value of modelling in practice? Book a demo with a Curiosity expert today!

Try Modeller

 

 

Accidental Complexity is killing your testing efforts and IT budget

6 min read

Accidental Complexity is killing your testing efforts and IT budget

You’re working hard to transform your ways of working, with a range of different goals. Common aims of digital transformations include:

Read More
Model-Based Testing Can Lead the Way in IT Change

6 min read

Model-Based Testing Can Lead the Way in IT Change

IT change remains a persistent struggle for most organisations today. Software teams are aware of the need to move faster and be more agile; yet,...

Read More
Going lean on your testing approach

7 min read

Going lean on your testing approach

When teams are looking to transform, optimize, or cut costs in testing, where do they first look? More often than not, they follow the advice given...

Read More
Ensuring The Efficiency and Effectiveness of Software Testing Contracts

4 min read

Ensuring The Efficiency and Effectiveness of Software Testing Contracts

Using Function Point Analysis and model-based testing to objectively measure services. A perpetual challenge in managing software testing projects is...

Read More
BDD is much more than Gherkin or Cucumber

9 min read

BDD is much more than Gherkin or Cucumber

Behaviour Driven Development is, at its heart, about communication. It’s not about using Gherkin to formulate specifications, or Cucumber to run...

Read More
Containers for Continuous Testing

4 min read

Containers for Continuous Testing

Application development and testing has been revolutionised in the past several years with artifact and package repositories, enabling delivery of...

Read More
New Year's Resolutions: Rethinking Quality in 2024

3 min read

New Year's Resolutions: Rethinking Quality in 2024

It's a new year, and many of us in IT and testing are reflecting on how we can improve our processes and strategies. As we set our 2024 quality...

Read More
Rigorously testing complex chains of APIs within short iterations

3 min read

Rigorously testing complex chains of APIs within short iterations

APIs provide business with the flexibility to innovate rapidly and extend their core offerings to new users. However, this flexibility brings massive...

Read More
Removing Quality Bottlenecks in CI/CD and DevOps

5 min read

Removing Quality Bottlenecks in CI/CD and DevOps

Curiosity often discuss barriers to “in-sprint testing”, focusing on techniques for reliably releasing fast-changing systems. These solutions...

Read More