# Titan automation testing Jimmy Ou 2020/09/02 --- ## Agenda 1. Goal 2. Architecture 3. Current state 4. Python tools/libraries --- # Goal --- ## Goal This project initially is for TitanTesting. Hope that it can be all I/O products testing framework. --- # Architecture --- ## Glossary * Scenario -- Group of testcases run in same environment setting --- ## Structure ``` ├── device --> MOXA I/O device implemtation │   ├── iin │   ├── iothinx4533 ├── dnp3 --> common dnp3 definitions ├── doc ├── modbus --> common modbus definitions ├── tests --> testcases │   └── scenario1 --> scenario │   ├── ai │   ├── ao │   ├── di │   ├── do ``` --- ## Scenario ``` ├── ai │   ├── case.py │   └── test_ai.py ├── ao │   ├── case.py │   └── test_ao.py ├── conftest.py ├── di │   ├── case.py │   └── test_di.py ├── do │   ├── case.py │   └── test_do.py ├── env.py └── pytest.ini ``` --- ## Inspired from **Infrastructure as Code** Let's see the code --- # Current state --- ## Current state | | feature | modbus | DNP3 | |----|---------------|--------| ---- | | DI | value | o | o | | | wirebreak | o | x | | | powerless | o | x | | | class event | * | o | | DO | value | o | o | | | powerless | o | x | | | short circuit | o | x | --- ## Current state (Cont.) | | feature | modbus | DNP3 | |----|---------------|--------| ---- | | AI | value | o | o | | AO | value | o | o | | | wirebreak | o | x | | | short circuit | o | x | --- # Python tools/libraries --- ## Tools/Libraries I used in this project. 1. pytest (testing tools) 2. Poetry (dependency manager and packager) + pyenv (virtual environment) --- ## 1. pytest I think you already know what it is and how to use it. --- ## 2. Poetry - Why Easy to use, and management. --- ## 2. Poetry * Dependency manager Just like npm, go mod, cargo, ...etc. * pyproject.toml * define project, dependencies, and environment. * poetry.lock * describe current dependency versions. --- ## 2. Poetry * Packager [Reference](https://python-poetry.org/docs/basic-usage/)
{"metaMigratedAt":"2023-06-15T12:10:53.881Z","metaMigratedFrom":"Content","title":"Titan automation testing","breaks":true,"contributors":"[{\"id\":\"c25632bd-238b-4741-87a0-8b737904c081\",\"add\":3006,\"del\":686}]"}
    253 views