3

I'm trying to change my approach to testing and use more documented, thought out formula. I'm trying to write test cases, was reading some theory, but I'm still meeting some obstacles.

For example - let's take the game, in which I can do the same thing for different objects, for example move something and replacing things around the map. Code responsible for said movement is the same for every object, but they are different from each other, in one way or another.

What I have troubles with, is the optimal approach in writing and documenting test cases for situation like that. Of course ideally I would like to check if every object behaves how it should, when moving it around, but if I had hundreds of objects, should I write down test case for every single one of this objects? It seems really time consuming and almost counter productive, but I still would like to somehow document everything I check.

What is your experience in that?

4 Answers 4

2

For my experience, the best way for it to be less time consuming is to automate it but since you tagged it as manual-testing, the only advice I can give is try grouping it.

For example if you have hundreds of objects, and when you move this object you need to check how they behave. Im pretty sure, there are lots of objects that when it move, it will have the same pattern or behavior(as you said that they have the same code but only differs in one way or another). So with this, you can tone down your test cases. Even though the object is not the same, as long the behavior is, the you can make it as one test case. This is how should I approach it, if I am in your situation.

6
  • Thank you every much for your input. If I may ask you something - how can you be sure, that said differencess between the objects won't cause different behaviour during the same action?
    – megachock
    Jun 22, 2020 at 14:36
  • 1
    As you said that the code implemented is the same, I can only imagine, since it is a game, that the behavior of the move objects in the map will maybe have a tiny difference on their behavior. But the objective of your test will be moving the object on the map right?? So as long the behavior does not really greatly varies to the other and it will not affect anything, I will consider this as one test.
    – ky-chan
    Jun 22, 2020 at 15:21
  • Also, I just want to simplify this since game is a bit complex. It is like you have a login page, and then you need to login 100 users with different data input. And once they logged in, they have different dashboard that will display based on their interest. So the data display varies on each users. The responsible code for this is only 1, which is login functionality. So you dont need create a test cases for 100 login users but rather, you need to test the functionality of login if it is working as it is expected. This is how I categorize it, not sure if it helps though.
    – ky-chan
    Jun 22, 2020 at 15:49
  • Sure, I get that and it is logical what you are saying. But the thing is, that these objects serve different functionality in the game. Only part about moving is the same. How do you know, that the dev didn't mess something up, and these parts of code that are different, somehow interfere with the code responsible for moving the object, in a different way each time?
    – megachock
    Jun 22, 2020 at 16:10
  • ahh, that part.There will be no assurance that the dev will not mess up with the codes they implemented since we dont see or how they did at the back, that why we try to test it as much. Although I said that I will create a 1 test case for the same functionality, but when I will test in manually, I will do the different kinds of moving object test and just put it as note. If that's the case that when you move the object, then it will serve a different functionality in the game, then you can do like high and low level functionality test cases.
    – ky-chan
    Jun 23, 2020 at 1:45
1

An "optimal way" will depend on your purpose (actually, the value of any practice depends on the context).

A test case, like a Product Coverage Outline, an executable specification, or a checklist, is a document target at a particular person. So your question needs to be complemented by who will read the test cases (and with what purpose).

Assuming that you are targeting at someone with a good knowledge of the application's context, you can describe the common behavior at one part and what differs each type in another place, for instance with a mind-map or a bullet-list:

  • Object behaviors

    • Common
      • Bla bla
      • bla bla
    • Specific behavior
      • Type A
        • Bla bla
      • Type B
        • Bla bla
        • Bla bla

enter image description here

1

Abstract sub test cases like functions and call by hyperlinked names.

As in programming, we define abstractions as functions , similarly in manual testing we can abstract common functional behavior as sub test cases and develop domain specific keywords(sub test cases) and call by hyperlinks.

Once we have identified an functional flow pattern and named it , we can call it whereever required as sub test cases with individual object names as parameters.

This simplifies the test flow by providing hyper links to these sub test cases definition.

0

If the steps are the same, there should not be a separate test case for every object. The different objects, in this case, are the parameters for one specific test case. Each time you execute this test, you need to document which object has been used and what the actual result was.

Where do you document your test cases? Do you use some kind of a management tool or just in Excel?

If it's in Excel, you probably should be able to create some kind of a parameter variable , but I'm not sure how to properly implement it. If you're using a test management tool of some kind, look for the Step parameters option in test cases. We use PractiTest and actually use their Step parameters functionality a lot, that makes test cases reusable in many occurences, including those that are similar to yours.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.