Friday, June 27, 2008
Severity
Priority
Quality
Audit
(1) the form or content of the products to be produced
(2) the process by which the products shall be produced
(3) how compliance to standards or guidelines shall be measured. [IEEE 1028]
Error Seeding
Levels of the CMM
It is characteristic of processes at this level that they are (typically) undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events. This provides a chaotic or unstable environment for the processes.
Level 2 - Repeatable
It is characteristic of processes at this level that some processes are repeatable, possibly with consistent results. The processes may not repeat for all the projects in the organization. The organization may use some basic project management to track cost and schedule.
Level 3 - Defined
It is characteristic of processes at this level that there are sets of defined and documented standard processes established and subject to some degree of improvement over time. These standard processes are in place (i.e., they are the AS-IS processes) and used to establish consistency of process performance across the organization. Projects establish their defined processes by applying the organization’s set of standard processes, tailored, if necessary, within similarly standardized guidelines.
Level 4 - Managed
It is characteristic of processes at this level that, using process metrics, management can effectively control the AS-IS process (e.g., for software development ). In particular, management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications. Process Capability is established from this level.
Level 5 - Optimized
It is characteristic of processes at this level that the focus is on continually improving process performance through both incremental and innovative technological changes/improvements.
Structure of CMM
Key Process Areas: A Key Process Area (KPA) identifies a cluster of related activities that, when performed collectively, achieve a set of goals considered important.
Goals: The goals of a key process area summarize the states that must exist for that key process area to have been implemented in an effective and lasting way. The extent to which the goals have been accomplished is an indicator of how much capability the organization has established at that maturity level. The goals signify the scope, boundaries, and intent of each key process area.
Common Features: Common features include practices that implement and institutionalize a key process area. There are five types of common features: Commitment to Perform, Ability to Perform, Activities Performed, Measurement and Analysis, and Verifying Implementation.
Key Practices: The key practices describe the elements of infrastructure and practice that contribute most effectively to the implementation and institutionalization of the KPAs.
Capability Maturity Model Integration (CMMI)
LCSAJ
Traceability matrix
Defect
Concurrency testing
Business process-based testing
Agile testing
Accessibility testing
State transition testing
Structured basis testing
Test script
Scenario testing
Thursday, June 26, 2008
Test plan
Error Guessing
Entity Life Cycle Testing
Decision Testing
Boundary value analysis
Equivalence partitioning
It is a technique with the goal:
To reduce the number of test cases to a necessary minimum.
To select the right test cases to cover all possible scenarios.
Although in rare cases equivalence partitioning is also applied to outputs of a software component, typically it is applied to the inputs of a tested component. The equivalence partitions are usually derived from the specification of the component's behaviour.
Black Box Design Techniques
- Equivalence Partitioning
- Boundary Value Analysis
- Algorithm Test
- Decision Table Test
- Syntactic Test
- Semantic Test
- Elementary Comparison Test
- Data Cycle Test / Entity Life Cycle Test
- Process Cycle Test
- Program Interface Test
- Real-Life Test
- Error Guessing
- Random Test
- Idiot Proofing
White box test design techniques
- Line coverage
- Statement coverage
- Decision coverage
- Condition coverage
- Decision condition coverage
- Multiple condition coverage
- Determination condition coverage
White box test design techniques
Line Coverage:
Line coverage is the weakest coverage criteria. It requires execution of every line of code at least once.
Statement Coverage:
It requires the execution of all program statements. However, all the statements in a program could be executed without revealing errors even if the program as a whole may be riddles with errors.
Decision Coverage:
For decision coverage, the programmer can use case a. and any of the other three. For decision coverage, the programmer must test once when the condition (we must take the THEN and ELSE parts) is true and once when it is false. It should cover all lines as well as all branches of the program.
Condition Coverage:
It checks each of the ways the condition can be made True or False.
Decision/Condition Coverage:
In this type of coverage both decision as well as condition coverage must be satisfied.
Prototyping
Software Development Lifecycle Models
a. Pure Waterfall
b. The “V” Model
2. INCREMENTAL MODELS
a. The Staged Delivery Model
b. The Parallel Development Model
3. EVOLUTIONARY MODELS
a. The Spiral Model
4. RELATED ASPECTS OF SOFTWARE ENGINEERING
a. Component-Based Software Engineering
b. Architecture Tradeoff Analysis
c. The Iterative Development Method
Software life cycle model
Recovery Testing
Examples of recovery testing:
While the application running, suddenly restart the computer and after that check the validness of application's data integrity;
While application receives data from the network, unplug and then in some time plug-in the cable, and analyze the application ability to continue receiving of data from that point, when network connection disappeared;
To restart the system while the browser will have definite number of sessions and after rebooting check, that it is able to recover all of them.
Negative Test and Positive Test
Fuzz testing
Test suite
Dynamic Testing
Static Testing
Bug
Test Scenario
Test Case Format
A cross reference to the numbers of the requirements (in the system specification) which are being verified in this test.
Purpose:
Describe the features of the software to be tested, and the particular behavior being verified by this test.
Procedure:
Describe how to carry out the test (Sometimes this will be as simple as "Enter the data in the table below at the keyboard.") Where appropriate, you may omit redundant explanations by referring to procedures you described in previous portions of the document.
Test Data:
Write the actual input data to be provided and the expected output for your actual working product. You must provide the actual input data values, not just a description. For example, "Enter a new wholesale price" is wrong. "Enter a wholesale price of $23.50" is correct. For the expected results you must provide the actual values not just a description. For example, "The updated retail price is displayed" is wrong. "The retail price of $49.99 is displayed" is correct. Be sure to include any manual calculations necessary to determine the expected outputs. (For example, if the program converts Fahrenheit temperature to Celsius, show the hand computations you did using the conversion formulas to arrive at the expected results).
Often the test data can be shown in tabular form, with a column of input items and the corresponding column of expected outputs. If the test input is contained in an external data file, you can provide the file name and have the file contents listed on a separate page.
Test Case
Automation Testing
Ad Hoc Testing
Smoke Testing
Functional Testing
Performance Testing
Beta
Alpha
In the first phase of testing, developers generally test the software using white box techniques. Additional validation is then performed using black box or grey box techniques, by another dedicated testing team, sometimes concurrently. Moving to black box testing inside the organization is known as alpha release
Pre-alpha
Regression testing
Integration testing
Integration testing identifies problems that occur when units are combined. By using a test plan that requires you to test each unit and ensure the viability of each before combining units, you know that any errors discovered when combining units are likely related to the interface between units. This method reduces the number of possibilities to a far simpler level of analysis.
Unit testing
Wednesday, June 25, 2008
User Acceptance Testing or System Validation
Functional Validation/Testing
Integration Validation/Testing
Buddy Checks
Code Validation/Testing
Walkthrough
Inspection
Validation
Verification
Black Box and White Box Testing
Glass Box Testing is a technique whereby explicit knowledge of the internal workings of the item being tested are used to select the test data. Unlike black box testing, white box testing uses specific knowledge of programming code to examine outputs.
Testing Tips
Glass Box Testing is a technique whereby explicit knowledge of the internal workings of the item being tested are used to select the test data. Unlike black box testing, white box testing uses specific knowledge of programming code to examine outputs.