- Inception phase
- Elaboration phase
- Construction phase and lastly
- Transition phase
Thursday, May 24, 2012
Phase 4 of Unified Process Life cycle - Transition
Posted by
Sunflower
at
5/24/2012 02:20:00 PM
0
comments
Labels: Application, Beta testing, Deployment, Development, Goals, Incremental, Issues, Iterations, Iterative, Milestones, Phase, Quality, releases, Software System, System, Time Boxed, Transition Phase, Unified Process, Users
![]() | Subscribe by Email |
|
Friday, October 15, 2010
Validation phase - Unit Testing - UTC Document, UTC Checklist, Defect Recording
UTC Document
The Unit Test Case document consists of test case number, test case purpose, the procedure, the expected result and the actual result. Columns like Pass/Fail and Remarks are also present in UTC.
UTC Checklist
UTC checklist may be used while reviewing the UTC prepared by the programmer. As any other checklist, it contains a list of questions which can be answered in yes or no. The 'aspects' list can be referred to while preparing UTC checklist.
- Are test cases present for all form field validations?
- Are boundary conditions considered?
- Are error messages properly phrased?
Defect Recording
It can be done on the same document of UTC, in the column of 'Expected results'. this column can be duplicated for the next iterations of unit testing. Defect recording can also be done using some tools like Bugzilla in which defects are stored in the database. Defect recording needs to be done with care. It should be able to indicate the problem in clear, unambiguous manner and reproducing of the defects should be easily possible from the defect formation.
To conclude, exhaustive unit testing filters out the defects at an early stage in the development life cycle. It proves to be cost effective and improves quality of the software before the smaller pieces are put together to form an application as a whole. Unit testing should be done sincerely and meticulously.
Posted by
Sunflower
at
10/15/2010 12:00:00 PM
0
comments
Labels: Defect Recording, Defects, Development, Phase, Phases, SDLC, Software testing, Test cases, Unit Test case, UTC, UTC checklist, Validation
![]() | Subscribe by Email |
|
Thursday, October 14, 2010
Validation phase - Unit Testing - how to write Unit test cases
Preparing a Unit test case document commonly referred as UTC is an important task in unit testing activity. Having a complete UTC with every possible test case leads to complete unit testing and thus gives an assurance of defect free unit at the end of unit testing stage.
While preparing unit test cases the following aspects should be kept in mind-
Expected functionality
Write test cases against each functionality that is expected to be provided from the unit being developed. It is important that user requirements should be traceable to functional specifications which should be traceable to program specifications which should be traceable to unit test cases. Maintaining such traceability ensures that the application fulfills user requirements.
Input Values
- Write test cases for each of the inputs accepted by the unit. Every input has certain validation rule associated with it. Write test cases to validate this rule.
- There can be cross-field validations in which one field is enabled depending upon input of another field. Test cases for these should not be missed.
- Write test cases for the minimum and maximum values of input.
- Variables that hold data have their value limits. In case of computed fields, it is very important to write test cases to arrive at an upper limit value of the variables.
- Write test cases to check the arithmetic expressions with all possible combinations of values.
Output Values
- Write test cases to generate scenarios which will produce all types of output values that are expected from unit.
Screen Layout
Screen/report layout must be tested against the requirements. It should ensure that pages and screens are consistent.
Path Coverage
A unit may have conditional processing which results in various paths, the control can traverse through. Test cases must be written for each of these paths.
Assumptions and Transactions
A unit may assume certain things for it to function. Test cases must be written to check that the unit reports error if such assumptions are not met.
In case of database applications, test cases should be written to ensure that transactions are properly designed and in no way inconsistent data gets saved in the database.
Abnormal terminations and Error messages
Test cases should be written to test the behavior of unit in case of abnormal termination.
Error messages should be short, precise and self explanatory. They should be properly phrased and free of grammatical mistakes.
Posted by
Sunflower
at
10/14/2010 01:50:00 PM
0
comments
Labels: Conditions, Coverage, Functionality, Inputs, Layout, Outputs, Paths, Phase, Phases, Report, Screen, Test cases, Unit, Unit testing, Validation, Values
![]() | Subscribe by Email |
|
Wednesday, October 13, 2010
Validation phase - Unit Testing - Stubs and Drivers
The validation phase falls into picture after the software is ready or when the code is being written. There are various techniques and testing types that can be appropriately used while performing the testing activities.
Unit Testing
A unit is allocated to a programmer for programming. Functional Specifications document is used as an input for programmer's work. The programmer prepares program specifications for his unit from the functional specifications. Program specifications describe the programming approach, coding tips for the unit's coding.
Using these program specifications as input, the programmer prepares unit test cases document for that particular unit. A unit test cases checklist may be used to check the completeness of unit test cases document. Program Specifications and unit test cases are reviewed and approved by quality assurance analyst or by peer programmer. The programmer implements some functionality for the system to be developed. The same is tested by referring the unit test cases. While testing that functionality if any defects have been found, they are recorded using the defect logging tool whichever is applicable. The programmer fixes the bugs found and tests the same for any errors.
Stubs and Drivers
A software application is made up of a number of units where output of one unit goes as an input of another unit. Due to such interfaces, independent testing of a unit becomes impossible. So here, we use stub and driver.
A driver is a piece of software that drives the unit being tested. A driver creates necessary inputs required for the unit and then invokes the unit.
A unit may reference another unit in its logic. A stub takes place of such subordinate unit during the unit testing. A stub is a piece of software that works similar to a unit which is referenced by the unit being tested but it is much simpler than the actual unit. A stub works as a stand-in for the subordinate unit and provides the minimum required behavior for that unit.
Programmers needs to create such drivers and stubs for carrying out unit testing. Both the driver and stub are kept at a minimum level of complexity, so that they do not induce any errors while testing the unit in question.
Posted by
Sunflower
at
10/13/2010 01:04:00 PM
0
comments
Labels: Application, Drivers, Input, Output, Phase, Phases, Programming, Quality, Software, Software testing, Stubs, Unit, Unit Testing, Validation
![]() | Subscribe by Email |
|
Tuesday, September 28, 2010
Different testing activities in Programming/Construction and Operations and Maintenance Phase
The main testing points in this phase are:
- Check the code for consistency with design
The areas to check include modular structure, module interfaces, data structures, functions, algorithms and I/O handling.
- Perform the testing process in an organized and systematic manner with test runs dated, annotated and saved.
A plan or schedule can be used as a checklist to help the programmer organize testing efforts. If errors are found and changes are made to the program, all tests involving the erroneous segment must be re-run and recorded.
- Asks some challenges for assistance
Some independent party, other than the programmer of the specific part of the code should analyze the development product at each phase. The programmer should explain the product to the party who will then question the logic and search for errors with a checklist to guide the search. This is needed to locate errors the programmer has overlooked.
- Use available tools
The programmer should be familiar with various compilers and interpreters available on the system for the implementation language being used because they differ in their error analysis and code generation capabilities.
- Apply stress to the program
Testing should exercise and stress the program structure, the data structures, the internal functions and the externally visible functions or functionality. Both valid and invalid data should be included in the test set.
- Test one at a time
Pieces of code, individual modules and small collections of modules should be exercised separately before they are integrated into the total program, one by one. Errors are easier to isolate when the number of potential interactions should be kept small. Instrumentation-insertion of the some code into the program solely to measure various program characteristics can be useful here.
- Measure testing coverage/ When should testing stop?
If errors are still found every time the program is executed, testing should continue. Because errors tend to cluster, modules appearing particularly error-prone require special scrutiny. The metrics used to measure testing thoroughness include statement testing, branch testing and path testing. Statement testing is the coverage metric most frequently used as it is relatively simple to implement.
Testing Activities in Operations and Maintenance Phase
Correctness, modifications and extensions are bound to occur even for small programs and testing is required every time there is a change. Testing during maintenance is termed regression testing. The test set, test plan, and the test results for the original program should exist. Modifications must be made to accommodate the program changes, and then all portions of the program affected by the modifications must be re-tested. After regression testing is complete, the program and test documentation must be updated to reflect the changes.
Posted by
Sunflower
at
9/28/2010 01:41:00 PM
0
comments
Labels: activities, Code, Consistency, Construction, Maintenance, Operations, Phase, Phases, Points, Process, Product, Programming, Software, Software testing, Tests
![]() | Subscribe by Email |
|
Saturday, June 5, 2010
Spiral Model - A type of software development life cycle model
Boehm proposed the spiral model in 1988. A useful model for projects involving high risks. each loop in spiral represents a development phase. Each loop is split into four sections which carry out a specific task.
- Determine the objectives, alternatives, and constraints.
- Analysis of risk and to evaluate alternatives.
- Execution of that phase of development.
- Planning the next phase.
For each round of spiral, one form is top be filled with information like :
- Objectives
- Alternatives
- Constraints
- Risk factors
- Risk resolution
- Results
- Plans
- Commitment
At the end of each spiral the management can review the status based on this form and decide the future course of action.
Advantages of Spiral Model
- Estimates become more realistic as work progresses.
- The model is designed to cope with the inevitable changes to the learning experience that will happen over the course of design and delivery.
- Multimedia producers can get their hands in and start working on a project earlier, and therefore shape the design process as well.
Disadvantages of Spiral Model
- Highly customized limiting re-usability.
- Applied differently for each application.
- Risk of not meeting budget or schedule.
- Risk of not meeting budget or schedule.
Posted by
Sunflower
at
6/05/2010 04:31:00 PM
0
comments
Labels: Advantages, Disadvantages, Loops, Models, Phase, Quality, Quality assurance, Spiral model
![]() | Subscribe by Email |
|