Software testability is how easily, completely and conveniently a computer program can be tested. Software engineers design a computer product, system or program keeping in mind the product testability. Good programmers are willing to do things that will help the testing process and a checklist of possible design points, features and so on can be useful in negotiating with them.
Visibility has already been discussed.
Control refers to our ability to provide inputs and reach states in the software under test. The features to improve controllability are:
- Test Points: Allows the data to be inspected, inserted or modified at points in the software. It is especially useful for data-flow applications. In addition, a pipe and filters architecture provides many opportunities for test points.
- Custom User Interface Controls: Custom UI controls often raise serious testability problems with GUI test drivers. Ensuring testability usually requires adding methods to report necessary information, customizing test tools to make use of these methods, getting a tool expert to advise developers on testability and to build the required support and asking the third party control vendors regarding support by test tools.
- Test Interfaces: Interfaces may be provided specifically for testing e.g. Excel and Xconq etc.Existing interfaces may be able to support significant testing e.g. InstallShield, AutoCad, Tivoli etc.
- Fault Injection: Error seeding, instrumenting low level input/output code to simulate errors makes it much easier to test error handling. It can be handled at both system and application level.
- Installation and Setup: Testers should be notified when installation has completed successfully. They should be able to verify installation, pro grammatically create sample records and run multiple clients, daemons or servers on a single machine.
Thursday, September 23, 2010
Two heuristics of Software testing : Visibility and Control
Posted by
Sunflower
at
9/23/2010 02:56:00 PM
0
comments
Labels: Control, Data, Heuristic analysis, Heuristics, Inputs, Quality, Software, Software testing, Testability, Tests, Visibility
![]() | Subscribe by Email |
|
Friday, March 5, 2010
Antivirus Software - Heuristic Analysis
Heuristic analysis is a method employed by many computer antivirus programs designed to detect previously unknown computer viruses, as well as new variants of viruses already in the wild. Heuristic analysis is an expert based analysis that determines the susceptibility of a system towards particular threat/risk using various decision rules or weighing methods.
The common heuristic/behavioral scanning techniques :
- File Emulation : It allows the file to run in a controlled virtual system (or “sandbox”) to see what it does.
- File Analysis : It involves the software taking an in-depth look at the file and trying to determine its intent, destination, and purpose. Perhaps the file has instructions to delete certain files, and should be considered a virus.
The effectiveness using heuristic analysis is fairly low regarding accuracy and the number of false positives.This sort of scanning and analysis can take some time, which may slow-down system performance.
False positives are when the anti-virus software determines a file is malicious (and quarantines or deletes it) when in reality it is perfectly fine and/or desired.
Extensive use of heuristic analysis is also made in anti-spam solutions, to highlight those characteristics of an e-mail message that are spam-like.
Posted by
Sunflower
at
3/05/2010 04:47:00 PM
0
comments
Labels: Advantages, Antivirus, Detection scheme, Disadvantages, Heuristic analysis, Methods, Software, Virus
![]() | Subscribe by Email |
|