Thursday, November 17, 2011
How to be with Development Team?
1) Be neutral with your views.
Wednesday, November 16, 2011
Response Time, Throughput and Utilization
(a) Response Time
Response Time is the delay experienced when a request is made to the server and the server's response to the client is received. It is usually measured in units of time, such as seconds or milliseconds.
(b) Throughput
Throughput refers to the number of client requests processed within a certain unit of time. Typically, the unit of measurement is requests per second or pages per second. From a marketing perspective, throughput may also be measured in terms of visitors per day or page views per day.
(c) Utilization
Utilization refers to the usage level of different system resources, such as the server's CPU(s), memory, network bandwidth, and so forth. It is usually measured as a percentage of the maximum available level of the specific resource. Utilization versus user load for a Web server typically produces a curve.
Alpha, Beta & Gamma
Alpha Testing: Alpha Testing is mostly like performing usability testing which is done by the in-house developers who developed the software or testers. Sometimes this Alpha Testing is done by the client or an outsider with the presence of developer and tester. The version release after alpha testing is called Alpha Release.
Beta Testing: Beta Testing is done by limited number of end users before delivery, the change request would be fixed if the user gives feedback or reports defect. The version release after beta testing is called Beta Release.
Gamma Testing: Gamma Testing is done when the software is ready for release with specified requirements. This testing is done directly by skipping all the in-house testing activities.
Thursday, November 10, 2011
Prologue >> Automation Testing
What is Automation Testing?
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
Test automation involves automating a manual process already in place that uses a formalized testing process.
Benefits of Automation
Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human error.
Repeatable: You can test how the software reacts under repeated execution of the same operations.
Programmable: You can program sophisticated tests that bring out hidden information from the application.
Comprehensive: You can build a suite of tests that covers every feature in your application.
Reusable: You can reuse tests on different versions of an application, even if the user interfaces changes.
Better Quality Software: Because you can run more tests in less time with fewer resources
Fast: Automated Tools run tests significantly faster than human users.
Cost Reduction: As the number of resources for regression test are reduced.
Other: Test without any human interaction
Why Automation is required?
Ø Reducing test time and resources
Ø Consistent Test Procedures
Ø Ensures process repeatability and resource independence
Ø Eliminates errors of manual testing
Ø Improves efficiency of testing
Ø Reducing testing costs
Ø Gives consistent and accurate results
When to automate?
Ø Regression testing
Ø Data-driven testing
Ø The Application under manual test is stable
Ø Application which has long runs
Regression Testing: Regression test suite is the best candidate for automation. If testing only needs for short period projects, it should be done manually. If the test suite needs to be run for a long time, regularly for every iteration, build and after bug fixing, then it should be automated. Always automate Smoke test cases then Sanity test cases and then regression.
Data-driven testing: Single test to verify multiple data like want to test application with various users.
The Application under manual test is stable: We cannot automate application which is unstable i.e when the functionality of application keeps on changing.
Long Run Projects: Long run projects are good to go with automation. Automating short duration project does not make sense. I personally go for automation for those projects whose duration is more than 6 months.
When to NOT Automate?
Ø Functionality of the application changes frequently
Ø Project doesn’t have enough time
Ø Test with unknown results cannot be automated