language agnostic - Testing... how do the pros do it, and what techniques can scale to single-person development? -
I have been writing software for years, but the art of testing has never been mastered. My normal tests include full run-throughs on my machines, and then are testing in different operating systems via VMware. Mainly playing with a cruelty-it does not have to-break-or-approach where where possible I work on real hardware, but it is not always practical.
My question is two times:
- How do medium-sized business development houses do their tests?
- Can you apply for a developer team of one of the common techniques or procedures (outside the unit test). I am looking for practicality.
Thank you for your time and input.
step 1: unit test
Can be anything until the entire program) and test those components well, especially related to APIs and behaviors that the remaining apps can see (Do not forget to check for failure mode, but the exact nature of the failure Be careful to forcefully bind; The message instead is enough to test the presence of the class of exceptions.) Make sure to have them test that; You should do
Step 2: Integration test
Check that the compositions of components that make the application work (this is an integration test) ideally you can find bugs in the specifications of things in this point (hh!) And wherever you are Identify the fact that despite passing the unit test One component is wrong, it tells you bug. Whenever things are said to do so, things fail to work together, then you have probably got a bug in your glasses from the previous steps, so that you can usually add more details to your unit tests and make those components Decide until they do not work. / P>
Note that for good integration, you want to keep this level so that the integration itself can be sufficiently simple that instead of the big "No Obligate Bugs" program, there are "definitely no bugs " in the square . There may be a lot of help in the integration framework like spring or scripting language (although later you have to stop making the component on the sly; if you make a component, then accept it and make sure that its fair use is contract and the unit The test is to ensure that he fulfills his contract).
Where you can, you can compose the others together; These high-level components need to be checked in the form described in step 1 above. This may look like an extra job - it's probably - but it has the means that you can use automatic testing for large parts of the program. (However, it is difficult to test all integration with an automated testing tool, such things work to improve unit tests, where you can mismatch all irrelevant parts) but this does not save you ...
Step 3: Approval Test
This is where the entire application is tested to see what exactly is desired. It can be automatic, but not usually. This is the level where you take users to see if things are expected of them, although you want to use internal investigators a little earlier, depending on the nature of the application, how easy it all is.
Also keep in mind that user interfaces have to spend more time than others in this phase, okay because the nice UI creates it is impossible to pin down in the algorithm (it's all after human psychology Is very much related to).
One last note: What I have written here is that the test of sound is a painstaking process that takes life at the end of a project it is not so! You can often get some parts of an app made before others, the integration of those parts (with a mask for other bits) and how much acceptable this sub-application is actually tested, of course While doing so, users have to stop believing that everything has been done; There are a number of dialog boxes that pop up and say things like "magic to be here" is silly but effective: -)
Comments
Post a Comment