|
|
|||||||
Testing Frequently Asked Questions - Page 1 |
|||||||
|
|
|||||||
|
What's the difference
between QA and testing? |
|||||||
|
What is black box/white
box testing? What are unit, component
and integration testing? Unit Testing: In unit testing called components (or communicating components) are replaced with stubs, simulators, or trusted components. Calling components are replaced with drivers or trusted super-components. The unit is tested in isolation component: A unit is a component. The integration of one or more components is a component. Note: The reason for "one or more" as contrasted to "Two or more" is to allow for components that call themselves recursively. component testing: the same as unit testing except that all stubs and simulators are replaced with the real thing. Integration Testing: This test begins after two or more programs or application components have been successfully unit tested. It is conducted by the development team to validate the interaction or communication/flow of information between the individual components which will be integrated. What's the difference
between load and stress testing ? Load testing is a test whose objective is to determine the maximum sustainable load the system can handle. Load is varied from a minimum (zero) to the maximum level the system can sustain without running out of resources or having, transactions suffer (application-specific) excessive delay. |
|||||||
|
Why does software
have bugs? software complexity - the complexity of current software applications can be difficult to comprehend for anyone without experience in modern-day software development. Multi-tiered applications, client-server and distributed applications, data communications, enormous relational databases, and sheer size of applications have all contributed to the exponential growth in software/system complexity. programming errors - programmers, like anyone else, can make mistakes. changing requirements (whether documented or undocumented) - the end-user may not understand the effects of changes, or may understand and request them anyway - redesign, rescheduling of engineers, effects on other projects, work already completed that may have to be redone or thrown out, hardware requirements that may be affected, etc. If there are many minor changes or any major changes, known and unknown dependencies among parts of the project are likely to interact and cause problems, and the complexity of coordinating changes may result in errors. Enthusiasm of engineering staff may be affected. In some fast-changing business environments, continuously modified requirements may be a fact of life. In this case, management must understand the resulting risks, and QA and test engineers must adapt and plan for continuous extensive testing to keep the inevitable bugs from running out of control Time pressures - scheduling of software projects is difficult at best, often requiring a lot of guesswork. When deadlines loom and the crunch comes, mistakes will be made. poorly documented code
- it's tough to maintain and modify code that is badly written or poorly
documented; the result is bugs. In many organizations management provides
no incentive for programmers to document their code or write clear, understandable,
maintainable code. In fact, it's usually the opposite: they get points
mostly for quickly turning out code, and there's job security if nobody
else can understand it ('if it was hard to write, it should be hard to
read'). What is difference
between verification and validation? |
|||||||
| <<Back to FAQ Index Page>> | |||||||
|
|
|||||||