Hi Dieter,
thanks for your reply. I was trying to apply the GSOC topic: Automatic testing. so I want
to check with you guys about the fomal process
What do you mean by regression tests? How are they
different from unit tests?
The process you describe sounds reasonable. If you rearrange the order
a bit, and add codechecking to your process, you are on your way of
writing good code (see below for suggestions)
In my mind, the regression tests is different from the unit tests. or in other word, we
can say that the regression test include Unit tests.
the regression test can include function test case beside unit tests.
In my mind, in order to gurantee the code quality, UNIT test just cover the code logic,
but Fuinctional test can be end to end case with real case.
In my mind, the fomal processes should be:
1. add UT code
(TDD [0] principle, write tests first, then start implementing the class/method)
2. add logic code
3. test on dev box
4. run UT & regression test on dev box
5. code review after pass 1-4
-> check coding style compliance, with
PHP_CodeSniffer and fix the
reported issues.
You can run Jenkins on your own box, or execute `phpcs filename` on
the command line, more info on setting up Jenkins [1]
> 6. checkin code
> 7. check CI build
> .....
I agree with you. so the process should be:
1. Add UT code
2. Add logic code
3. test on dev box
4. run UT & regression test on dev box
5. check coding style compliance, with PHP_CodeSniffer <---- I think we should do it
before code-review
6. code review
7 checkin code
8 check CI build result
thanks,
Adam