Home
Services
Industry Experience
Offshore Development
Technical Articles
IT Problem Discussion Forum
IT Mock Exams
Training Courses
Careers
About Us
Contact Us Contact Us
 

SOFTWARE QA TESTING

This Article covers the big picture of Software Testing Methods, Testing Tools, Types of Testing and Testing benefits.This Article is designed for the Software Programmers and Software Testers keep in mind.

SOFTWARE TESTING:

Software testing involves operation of a System or Application under controlled conditions and evaluating the results. Basically testing verifies whether the product is working correctly as per the business requirements. Main goal of the testing is the deliverance of bug free product in a timely fashion and within budget.

SOFTWARE TEST PLAN:

Software test plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. The process of preparing a test plan is a useful way to think through the efforts needed to validate the acceptability of a software product. This document would be prove to be very helpful for the outsiders to understand the why and how of the product validation. Being very helpful document it should be very thorough and systematically designed. Software test plan is also called controlled document since it controls the entire testing process.

SOFTWARE TEST CASE:

Software test case is a document that describes an input, action, or event and an expected response, to determine if a feature of an application is working correctly.

TYPES OF TESTING:

  • UNIT TESTING: Testing of particular functions or module of applicaton under testing is called unit testing. This is the micro scale of testing. This is done by programmers instead of testers.Black box testing and white box testing are part of unit testing.
  • WHITE BOX TESTING: Testing based upon the internal knowledge of application code is known as white box testing. Done by the programmers instead of testers.
  • BLACK BOX TESTING: Testing the functionality and requirements of application under testing is known as black box testing. This type of testing is not based upon any internal knowledge of code. This is done by testers.
  • INCREMENTAL INTEGRATION TESTING: Continous testing of application under testing as new functionality is added. Done by testers of programmers.
  • INTEGRATION TESTING: Testing of combined parts of application under testing to verify whether they function correctly together.
  • SYSTEM TESTING: Testing of complete system application environment in a situation that mimics the real world use. This is macro scale of testing.
  • REGRESSION TESTING: Retesting of application after the fixes have been made to the application or the environment itself. This type of testing is done with the help of automated testing tools.
  • ALPHA TESTING: Testing of an application when development is nearing completion is known as alpha testing. This type of testing is done by end users and not by programmers or testers.
  • BETA TESTING: Testing when development is essentially complete and final bugs needed to be removed before need to be removed before final release. This type of testing is typically done by end users and not by programmers or testers.
  • MANUAL TESTING: Manual testing involves testing of application under testing by manually performing the actions on application under testing by following the test plans.
  • AUTOMATED TESTING: Testing involves testing of application under testing by performing the actions on application under testing using automated testing tools.
  • LOAD TESTING: Testing an application under heavy loads such as testing of a website under a range of loads to determine at what point the system's response time degrades or fails.

MANUAL TESTING TOOLS:

  • TEST DIRECTOR: Test Director is the test management database that stores input, expected output and actual results from the manual testing.

    TEST DIRECTOR TESTING PROCESS:

    1. Specificying Requirements: Specifying requirements includes defining test scope, create requirements tree, creating detailed requirements and analyzing requirement specifications.
    2. Planning Tests: Planning tests includes defining test strategy, defining test subjects, defining tests and creating requirements coverage,desining test steps, and analyzing test plan.
    3. Running Tests: Running test incluldes Creating test sets, Scheduling Runs, Running tests and Analyzing test results.
    4. Tracking defects: Tracking defects includes adding defects, reviewing new defects, repairing open defects, testing new builds and analyzing defect data.

    BENEFITS OF AUTOMATED TESTING:

    • Fast
    • Repeatable
    • Reliable
    • Programmable
    • Comprehensive
    • Reusable

    AUTOMATED TESTING TOOLS:

    • WINRUNNER: Web based automated testing tool. Winrunner is used mostly for regression testing because of its automated nature.

    WINRUNNER TESTING PROCESS:

    1. Teaching winrunner the objects in your application
    2. Creating additional test scripts that test your application's functionality
    3. Debugging the tests
    4. Running tests on new version of the application
    5. Examining the test results
    6. Reporting defects

    LOAD TESTING TOOLS:

    • LOAD RUNNER: Load Runner is mercury's interactive testing tool for predicting scalability, reliability and performance issues of an e-business application, identifying system bottlenecks and displaying results.

    LOAD TESTING PROCESS:

    1. Planning the test: Planning the test includes the development of a clearly defined test plan to ensure the test scenarios developed will accomplish load-testing objectives.
    2. Creating Virtual Users: A script recorder is used to capture all the business processes into test scripts, often reffered to as virtual users or virtual scripts. A virtual user emulates the real user by driving the real application as a client.
    3. Creating a scenerio: A scenario describes the events that occur during a testing session. It includes a list of machines, scripts, and Vusers that run during the scenario. We create scenarios using LoadRunner Controller.
    4. Running the scenerio: We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously. We can run the entire scenario, Vuser groups, or individual Vusers.
    5. Monitoring the scenerios: We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web application server resource, database server resource, network delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors.
    6. Analyzing the results: We use LoadRunner’s graphs and reports to analyze the application’s performance.

      For additonal details, please contact Author at vm@itexps.com

  •