项目作者: rodrigoio

项目描述 :
A tool to generate test cases
高级语言: PHP
项目地址: git://github.com/rodrigoio/testbucket.git
创建时间: 2019-07-12T02:24:41Z
项目社区:https://github.com/rodrigoio/testbucket

开源协议:MIT License

下载


Test Bucket

TestBucket is a tool that aims to assist the testing process by generating functional test cases.

About

TestBucket is a tool aims to generate test cases from the definition of a specification in YAML notation.
This specification aims to determine input domains and correlation between fields in a form.

Once we have a specification in a concrete and not subjective way, we can apply several known techniques of
software tests to generate test cases. The scope of this project is limited, for now, to generate integrated
tests not having a direct relationship with the application code, but with the specification.

Consider contributing to this project with code :nerd_face:; or thoughts and ideas :monocle_face: !

Working on… :hammer_and_wrench:

  • New data types
  • New combiner algorithm

Useful commands:

```shell script

build image

make build

run all tests

make test

run dev environment

make run

stop dev environment

make stop

  1. <br>
  2. #### Data Types
  3. ##### Range Types:
  4. | type | Description | Status |
  5. |---------------|-------------|--------|
  6. | integer:range | (...) | Done |
  7. | float:range | (...) | Pending |
  8. | date:range | (...) | Pending |
  9. <br>
  10. ##### Static Types:
  11. | type | Description | Status |
  12. |---------------|-------------|--------|
  13. | string:static | (...) | Pending |
  14. | boolean:static| (...) | Pending |
  15. <br>
  16. #### YAML Specification
  17. ```yaml
  18. version: 1.0
  19. group: UserForm
  20. properties:
  21. - name: name
  22. type: static
  23. value: ["bob", "alice"]
  24. - name: surname
  25. type: static
  26. value: ["red", "green"]

Execute using container:

```shell script
docker run -it —rm —name testbucket-run -v “$PWD”:/tmp testbucket ./testbucket testbucket:process —spec=/tmp/test.yaml —output=/tmp

  1. <br>
  2. #### Expected Data
  3. Each line is a json object that defines a `TestCase` with properties and if its valid or not, and all values are encoded in base64.
  4. This example only shows valid test cases: `is_valid=true`

{“group_name”:”UserForm”,”properties”:{“name”:”Ym9i”,”surname”:”cmVk”},”is_valid”:true}
{“group_name”:”UserForm”,”properties”:{“name”:”Ym9i”,”surname”:”Z3JlZW4=”},”is_valid”:true}
{“group_name”:”UserForm”,”properties”:{“name”:”YWxpY2U=”,”surname”:”cmVk”},”is_valid”:true}
{“group_name”:”UserForm”,”properties”:{“name”:”YWxpY2U=”,”surname”:”Z3JlZW4=”},”is_valid”:true}
```

Contribute:

If you want to contribute to this project, see the guidelines