Arch notes ========== Workflow -------- [ Repo ] | 1 init(type,args) # init repo: | # * type can be Filesystem or other, | # * args can be root, connection string... | load(stm) # obtain STM from repo v n [ STM ] | 1 parse_head() # parse text and fill out metadata properties | gen_sts(stm,args) # generate a number of STS from a STM | # * stm - STM object | # * args - args specify ranges from where | # STMs are generated; typically | # Cartesian product v n [ STS ] = STM + ARGS | 1 gen_task(sts,args) # a task (or a number of) can be created | # from STS. In less managed scenarios (e.g. | # Beta testing) STS can be served right | # away, and task ID will be generated off-site | # e.g. using embedded JS, at time of report v n [ TSK ] = STS + TID ### More graphical, from HTTP POV ### /release/rc.stm +------------------[ vcs rev: 123 ]-----+ | STM # Source file | +---------------------------------------+ | Name: Release Client | | Component: ~ | | Description: Basic release criterion | | Owner: some.guy@example.com | | Various ISTQB BS: this; that... | | | | Here the body sterts... | | | | # Main # | | 1. Check A | | > result is a | | 2. Check IMAPIsm {proto==imap} | | 2. Check POP3ism {proto==pop3} | | > result is OK | +---------------------------------------+ GET /release/rc.stm?os=7&proto=imap Accept: text/plain +---------------------------------------+ | STS # Slave template | +---------------------------------------+ | Stm: /release/rc.stm | | Stm Revision: 123 | | Params: os=7; proto=imap | | | | Here the body starts... | | | | # Main # | | 1. Check A | | > result is a | | 2. Check IMAPIsm | | > result is OK | +---------------------------------------+ GET /release/rc.stm?os=7&proto=pop3 Accept: text/html +---------------------------------------+ | HTML # Generated from STS | +---------------------------------------+ | # HTML version of above... | | # With POP3 step instead of IMAP step | | | : : ' ' Service API ----------- +---------------------- | SVC +---------------------- |