New answers tagged methodology
1
Even theoretically, unit testing isn't sufficient because it doesn't cover the paths through the system. You can cover every line of code in a system, but not cover every potential way through it.
For instance, can you launch the application? Does it run on all the target operating systems? Does it render correctly? These are all out of the scope of unit ...
2
There are many cases where unit testing as you have described would not be "sufficient".
(And you haven't really defined what you mean by "sufficient" in this case. Good enough to move the code to Production? Good enough to pass it on to QA? Good enough to please your boss? Good enough to feel like you did a good job? Something else?)
In most practical ...
2
Not exactly.
Unit testing only isolates units in isolation. In these tests all dependencies to other units are mocked or stubbed out. So how do you know those units together do what they are supposed to do? Code tends to grow hierarchically in complexity, and with that growth comes more and more units working together, more and more groups of units ...
1
I agree with both Rsf and jruberto statement, I think statistics and Big-O is used frequently, In addition here is some other topic that is used too i.e
Boundary Value and Equivalence Class Partitioning
Percentage of Covered Code
List item
For pure CS, I think this is a good example used on QA (All Pairs Testing)
3
Statistics is often used explicitly or implicitly. Some examples:
Analyzing the validity of multiple performance tests results.
Choosing parameter values based on distribution, e.g. uniform vs. normal
Developing test techniques, e.g. a proof that randomness is as good as X wise testing under certain assumptions.
0
Big O notation comes to mind. Important to understand the scalability of a system, given the anticipated input.
Equivalence partitioning is also frequently used in test design.
0
Many of the testers at my place of work are experts in the product domain, and have seen over-and-over what can go wrong. Including them up front is almost always worth the effort. They will:
Identify potential problems, before implementation
Help guide the development team during implementation
Be more effective with testing after implementation
Top 50 recent answers are included
