Subscribe by Email


Showing posts with label Timing. Show all posts
Showing posts with label Timing. Show all posts

Saturday, February 18, 2012

What are different tips to estimate testing time?

Time is a very important factor when it comes to the success of any matter. Therefore, timing plays a great role in the successful completion of a software project. It would not be wrong to say that the time estimation like other aspects of the software engineering forms an equally important part of the whole software development cycle.

BENEFITS OF KEEPING TIME ESTIMATION

- Keeping time estimation before the start of the software project keeps the whole development cycle on track.
- This doesn’t let your time get wasted.
- Since, there is a time limit; you have to complete the project within that time period.
- Furthermore, if you complete your projects on time, your clients will be impressed and your reputation will build up which in turn will fetch you more projects.
- An experienced software developer might be able to make better time estimations as compared to the one who is fresh in the industry.
- One who has worked up on various different software projects certainly must be having an idea of the time that will be taken up by the testing process.

TIPS FOR ESTIMATING TESTING TIME ARE:
Testing time cannot be estimated blindly. It should be done accurately and it should be realistic.

1. BUFFER TIME
- Your time estimation should involve some buffer time.
- But, keep in mind that it should be realistic.
- The role of the buffer is to help in case you have an unexpected delay in the software testing process.
- This buffer time accounts for the lost time.
- Apart from providing time for coping up with delays, a buffer also helps in providing the maximum coverage for the testing processes.

2. TIME TAKEN BY BUG CYCLE
- Never forget that this time estimation also includes the time that will be taken up by the bug cycle.
- You may estimate some time for a cycle, but remember that the actual cycle can very well require much more time.
- This problem should be avoided.
- As we all know that the testing process depends on the structure and design of the program.
- The more good the structure and design is, less will it take time.
- If the structure of the program itself is not good then more and more time will be required to fix the subsequent problems and this leads to the over run of the time estimation.

3. INCLUDE UNEXPECTED LEAVES
- The estimated testing time should also have a place for the unexpected leaves.
- Some members of the software development may require a leave until the completion of the project.
- This will help to keep your testing time estimation realistic.

4. AVAILABILITY OF RESOURCES
- You should keep in mind the availability of the resources for the time period within which you have to complete your project.
- If in case you get short of any of the resources you can update your testing time estimations accordingly.
- This is another measure to keep your time estimation realistic.

5. COMPARISON BETWEEN OLDER & NEWER VERSION OF SOFTWARE
- You can sometimes compare this software version with its older version for the test outputs.
- This will save your precious time.
- This is termed as parallel testing.
- Based on the testing time estimation of the older version you can decide time estimation for the upcoming version.

6.COUNT YOUR MISTAKE & REVIEW
- It is a universal fact that everybody makes mistakes.
- So, there is possibility that you may make some mistake while estimating the testing time.
- So don’t forget to review it once and make any changes if required.
- Always keep in mind that changing testing time estimations can have a bad effect on your reputation.
- So don’t make changes unless very much required.

7. COUNT YOUR EXPERIENCE
- You can very well employ your past experience to make wise time estimations.

8. EVALUATE YOUR TEAM EFFICIENCY
Know the work efficiency of your team members.


Thursday, February 10, 2011

Testing for Real-Time Systems - Effective Strategy for testing real time systems

The nature of real time systems is time-dependent and its asynchronous nature. This nature adds a difficult element to the testing mix and that is time. Test case designer need to consider:
- event handling
- timing of the data
- parallelism of the tasks that handle the data
The intimate relationship between real time software and its hardware environment causes testing problems.

An effective four step strategy for testing a real time system are:
Task Testing:
The first step is to test each task independently. Each task has conventional tests designed for them and each task is executed. It helps to uncover errors in logic, function.
Behavioral Testing:
The behavior of a real time system can be simulated using system models created with automated tools. These analysis activities can serve as the basis for the designing of test cases.
Intertask Testing:
Once the task and system related errors are identified, asynchronous tasks that communicate with one another with different data rates and load are tested against errors. Tasks that communicate through a message queue or data store are tested to uncover errors.
System Testing:
System tests are done to uncover errors at the software/hardware interface. Testing the handling of boolean events is essential. The tester develops a list of possible interrupts using state diagram and control specification. Tests that are designed are:
- Interrupt priorities are properly assigned and handled?
- Processing for interrupt is correct?
- Does performance procedure conform to requirements?
- Does high volume of interrupts arriving at critical times create problems in performance?


Facebook activity