2013/3/29 adam adamgsoc2013@gmail.com:
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.
Ok, makes sense. How do you plan to automate the functional tests?
In my mind, the fomal processes should be:
- 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]
- checkin code
- check CI build
.....
I agree with you. so the process should be:
- Add UT code
- Add logic code
- test on dev box
- run UT & regression test on dev box
- check coding style compliance, with PHP_CodeSniffer <---- I think we
should do it before code-review
I meant it to be part of the code reviewing. ;)
- code review
-> 6.a run UT & regression test on dev box
best to test everything again after code reviewing and before commiting and checking in code.
7 checkin code 8 check CI build result
thanks,
Adam