Coming soon(-ish)

5 views
Skip to first unread message

Kerry Kimbrough

unread,
Feb 28, 2020, 2:09:01 PM2/28/20
to Tcases Forum
Just a note to report on the changes to the Tcases-verse that are currently underway.

As you may have noticed, recent efforts have focused on Tcases for OpenAPI. The next improvement to come will be a major step toward automatically generating executable API test cases. The first step will be automatically resolving the input values described by test definitions into actual input data that can be used in a test.

This is only possible because these test definitions are generated from an input model which is itself automatically generated. That makes it possible to create an input model that serves the ultimate goal, even though it is more complicated and verbose that the typical hand-written model. The problems encountered in this effort have also led to some improvements in the basic Tcases tool.

In particular, the need for better modeling of input collections has become crucial for generating consistent API tests. The problem has been apparent for a long time. Maybe you've thought about this, too. The problem: what happens when an input is a collection of complex data objects? In this case, there are input variables that describe the collection itself (for example, valid and invalid sizes, etc.) and other input variables that describe a member of the collection. In a real test, you would create a sample collection and fill it with zero or more member instances. And one test case could usually cover multiple variations in the member input variables. But currently Tcases doesn't know how to do this -- it generates a distinct test case for each member variation. It's as if you only test single-member collections! That's obviously nonsense, so if you're like me, you work around this by hand, building a single executable test based only multiple generated test case definitions.

It's a complicated problem, which is why it's stayed on the shelf so long. But OpenAPI modeling is demanding a solution. I've got a few ideas, but if you have any thoughts on this, I would welcome your advice
Reply all
Reply to author
Forward
0 new messages