Testing Questions
Home Contact Us
 

What is recovery/error testing?



Recovery/error testing is testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.

What is compatibility testing?

Compatibility testing is testing how well software performs in a particular hardware, software, operating system, or network environment.

What is comparison testing?

Comparison testing is testing that compares software weaknesses and strengths to those of competitors' products.

What is acceptance testing?

Acceptance testing is black box testing that gives the client/customer/project manager the opportunity to verify the system functionality and usability prior to the system being released to production.The acceptance test is the responsibility of the client/customer or project manager, however, it is conducted with the full support of the project team. The test team also works with the client/customer/project manager to develop the acceptance criteria.

What is alpha testing?

Alpha testing is testing of an application when development is nearing completion. Minor design changes can still be made as a result of alpha testing. Alpha testing is typically performed by a group that is independent of the design team, but still within the company, e.g. in-house software test engineers, or software QA engineers.

What is beta testing?

Beta testing is testing an application when development and testing are essentially completed and final bugs and problems need to be found before the final release. Beta testing is typically performed by end-users or others, not programmers, software engineers, or test engineers.

What is a Test/QA Team Lead?

The Test/QA Team Lead coordinates the testing activity, communicates testing status to management and manages the test team.

What is a Test Configuration Manager?


Test Configuration Managers maintain test environments, scripts, software and test data. Depending on the project, one person may wear more than one hat. For instance, Test Engineers may also wear the hat of a Test Configuration Manager.

What is software testing methodology?

One software testing methodology is the use a three step process of...

   1. Creating a test strategy;
   2. Creating a test plan/design; and
   3. Executing tests.

This methodology can be used and molded to your organization's needs. Rob Davis believes that using this methodology is important in the development and ongoing maintenance of his clients' applications.

What is the general testing process?


The general testing process is the creation of a test strategy (which sometimes includes the creation of test cases), creation of a test plan/design (which usually includes test cases and test procedures) and the execution of tests.

How do you create a test plan/design?

Test scenarios and/or cases are prepared by reviewing functional requirements of the release and preparing logical groups of functions that can be further broken into test procedures. Test procedures define test conditions, data to be used for testing and expected results, including database updates, file outputs, report results. Generally speaking...

    * Test cases and scenarios are designed to represent both typical and unusual situations that may occur in the

application.
    * Test engineers define unit test requirements and unit test cases. Test engineers also execute unit test cases.
    * It is the test team that, with assistance of developers and clients, develops test cases and scenarios for integration

and system testing.
    * Test scenarios are executed through the use of test procedures or scripts.
    * Test procedures or scripts define a series of steps necessary to perform one or more test scenarios.
    * Test procedures or scripts include the specific data that will be used for testing the process or transaction.
    * Test procedures or scripts may cover multiple test scenarios.
    * Test scripts are mapped back to the requirements and traceability matrices are used to ensure each test is within scope.

How do you execute tests?

Execution of tests is completed by following the test documents in a methodical manner. As each test procedure is performed, an entry is recorded in a test execution log to note the execution of the procedure and whether or not the test procedure uncovered any defects. Checkpoint meetings are held throughout the execution phase. Checkpoint meetings are held daily, if required, to address and discuss testing issues, status and activities.

    * The output from the execution of test procedures is known as test results. Test results are evaluated by test engineers

to determine whether the expected results have been obtained. All discrepancies/anomalies are logged and discussed with the

software team lead, hardware test lead, programmers, software engineers and documented for further investigation and

resolution. Every company has a different process for logging and reporting bugs/defects uncovered during testing.
    * A pass/fail criteria is used to determine the severity of a problem, and results are recorded in a test summary report.

The severity of a problem, found during system testing, is defined in accordance to the customer's risk assessment and

recorded in their selected tracking tool.
    * Proposed fixes are delivered to the testing environment, based on the severity of the problem. Fixes are regression

tested and flawless fixes are migrated to a new baseline. Following completion of the test, members of the test team prepare

a summary report. The summary report is reviewed by the Project Manager, Software QA Manager and/or Test Team Lead.

How do you create a test strategy?


The test strategy is a formal description of how a software product will be tested. A test strategy is developed for all levels of testing, as required. The test team analyzes the requirements, writes the test strategy and reviews the plan with the project team. The test plan may include test cases, conditions, the test environment, a list of related tasks, pass/fail criteria and risk assessment.

What is load testing?


Load testing simulates the expected usage of a software program, by simulating multiple users that access the program's services concurrently. Load testing is most useful and most relevant for multi-user systems, client/server models, including web servers.

For example, the load placed on the system is increased above normal usage patterns, in order to test the system's response at peak loads.

What is the difference between stress testing and load testing?


Load testing generally stops short of stress testing.

During stress testing, the load is so great that the expected results are errors, though there is gray area in between stress testing and load testing.

Load testing is a blanket term that is used in many different ways across the professional software testing community.

The term, load testing, is often used synonymously with stress testing, performance testing, reliability testing, and volume testing.