It is not very easy to answer. It depends on a few things:
1) Definition / interpretation of what is a functional test case
2) The role of support staff in acceptance testing
3) Durability of tests
This is purely an opinion based on my own experience.
(inserts two cents into the vending machine)
1) What is a functional test case? . You and the system engineer need to coordinate this. You may find (like me) that a systems engineer will do things at a higher (less granular) level than you. For example, assuming a specific requirement is required to create a web service, an engineer should know:
- Is the interface working correctly?
- Are the input parameters in the test case to cause success / failure?
- On failure, the corresponding error / error codes are returned? Please note that depending on the time, the engineer may adhere to the main / important conditions of failure (or negative answers) that affect the product / service as a whole (for example, "host error not found / timeout" should be in the interface, but not necessarily should be tested, but for the engineer, the failure associated with a particular case, such as "the client has insufficient funds," is important.
- Is transaction status recorded correctly?
Again, you and the systems engineer should clearly understand what a functional test case is and what is not. Functional tests are usually performed directly from the functional specification provided to you. For some products, timeout retries fall under non-functional operation, but you may have an engineer who wants his web service to retry 17 times before giving up, and if he sets it, then you turn on his.
2) How are these tests conducted and who signs them? Depending on this, you may need to optimize or define functional tests.
If you yourself and a systems engineer close yourself in a comfortable room for half a day, going through each test case, and then simplify it: you should be well acquainted with the requirements, and the engineer will review the document and have already provided a comment. On the other hand, you may have support engineers who conduct tests with you instead of the engineer (how we run it), the system engineer looks at the test cases, remains a little at the beginning and leaves when he gets bored). Where have i been That's right, so in this case, your document may have to work a little when you describe a script that is being tested. This brings me to the last moment of my long chat ...
3) Durability of the document
As often as on my side, after completing and completing a set of functional tests, they are quickly forgotten. However, these tests confirm your system and your product, and support engineers should be able to run them whenever you want:
- solve problems ("was this case even tested before switching to live?")
- solve the problems again ("geez did these guys even check this particular scenario?")
- check system / product integrity after major change
- learn about the functionality of the product or service (so many times people forget how the product should behave), and also support the specifications for hate reading requirements, especially specifications, outdated and current system behavior is different from what was originally indicated).
(deep breath)
So now you need to make sure that you cover the following:
- Check the setup of part 1: what are the requirements to run the test? What tools do I need? network connection?
- Test setup part 2: what test data will i use? where is it needed if i need it or how to create it?
- A review of functional requirements / tests to at least communicate what the expected behavior is.
- Overview of the main system components to be tested
- The idea of โโlimiting tests is that some functional tests can be simulated or cannot be tested against a live end system, etc. etc. - you need to describe the restriction and show the reader how you fake it.
In addition, the systems engineer expects you to have completed your granular tests, such as component tests, integration tests, etc. Depending on how terrible it is, an engineer may request documentation about these component tests and run several of them.
Hope this helps - having a template provides a consistent presentation and helps ensure that all important content is covered, but I think that the focus should be on fixing the goal and fulfilling that goal.
Hope I made a few cents :)