Structure.rst 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. Structure of baangt
  2. ===============================================
  3. If you never used any test automation software before, these terms can be intimidating, but in reality it's all very simple.
  4. We'll start from the bottom to the top.
  5. TestStep
  6. --------
  7. A teststep is a single activity, for instance clicking on a button or sending a ``GET`` request to an API. A teststep has
  8. a mandatory parameter ``Activity``. All other parameters depend on the chosen activity, for instance for Activitiy GOTOURL
  9. you need only a value (the URL where the browser should go to).
  10. For SetText you need a locatorType, the locator (which input field to send the text to) and the text itself.
  11. A teststep may have a timeout setting. If none given, system default will be considered.
  12. TestStepSequence
  13. ----------------
  14. Many Teststeps together are a TestStepSequence. The Sequence just defines, in which order each individual TestStep is
  15. executed. A TestStepSequence will provide timing information in the test report (Start- and End-Timestamps and
  16. Duration in Seconds)
  17. TestCase
  18. --------
  19. A Testcase is a Sequence of TestStepSequences. You might wonder, why this additional TestStepSequence is needed, why not
  20. simply write the TestSteps directly into the TestCase.
  21. First of all: you don't need the TestStepSequence. In the simple XLSX-Format this grouping area doesn't exist.
  22. Second: Imagine you have a login-page, a product bucket, product return functionality and invoice reprint functionality in
  23. your SPA and you want to test all of them. Obviously you'll have at least 3 Testcases, but in all of them you'll have to
  24. do a login. You can use the TestStepSequence to extract this repeated Sequence.
  25. In a Testcase we define not only the Sequence of TestStepSequences but also which type of Testcase (Browser, API, etc.)
  26. this is.
  27. TestCaseSequence
  28. ----------------
  29. Oh no, another level of confusion?!
  30. One or many TestCases can be grouped into a TestcaseSequence. The TestCaseSequence holds the
  31. connection to the datafile(s) to be used and which records to process in this TestRun. In a TestCaseSequence you could
  32. for instance group together the execution of a WEB-Page TestCase and subsequently the execution of an API-Call to retrieve
  33. results from another system. This scenario is of course mostly for corporate system landscapes, where the frontend (Web) communicates
  34. more or less asynchronous with backend components like Hosts, CRM-Systems, SAP-Backends and so on.
  35. By all means if you don't need it: don't use it. But in case you need it, it's good to know it's there.
  36. TestRun
  37. -------
  38. You guessed it by now. A TestRun as the highest level is a sequence of TestCaseSequences. Why would you need another level of grouping here?
  39. In End-2-End-Tests or Lifecycle tests you'd want to test the whole system's functionality along a value stream:
  40. * Create Partner in CRM-System
  41. * Use Partner for a Contract
  42. * Deliver Contract
  43. * Invoice Contract
  44. * Dunn invoice
  45. * Post Payment
  46. * Close contract
  47. * Flag all Documents for archiving
  48. * Archive all documents
  49. Each item of this list would be a TestCaseSequence with 1 to many testcases included, various systems, various Web-, API
  50. and other Interfaces within each TestCase.
  51. Again: If you don't need it, just don't use it. Every parameter has a default value assigned, so ``baangt`` will work
  52. perfectly without you touching things you don't need.