Testing Fundamentals

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

Test Closure Deliverables

1) Incident Report (Closed) 2) Testware - Test cases, automated scripts, test data, etc. 3) Tested Software

Test Plan Document (Deliverable for Planning and Control)

A document in which data from all the Planning and control activities are formally documented as per the organizations standards.

Defect

A flaw in the system which arises due to an error committed during design or development activity.

Sanity Tests

A functional test. They are similar to Smoke tests in their objective and their test selection (how quick they can be executed). They differ in terms of their scope and time of execution and are limited to small components and defect fixes.

Smoke Tests

A functional test. Usually are the first tests performed during the test execution phase. Their objective is report whether the software is ready for the full blown testing that will soon follow.

Security Tests

A non-functional test that is conducted to check whether the application allows access to only authorized users and withstands unauthorized attacks.

Software Testing

A set of processes that take place throughout SDLC. It helps reduce the risk of failures that may occur during operation and thus ensure the software system quality.

Error

Also called a mistake, is something that was missed overlooked or implemented incorrectly during designing or developing the sotware

UAT - Alpha Level Testing

Also known as factory acceptance testing. It is done at developing organizations site but not by the development team. Testing is done by users and stakeholders.

UAT - Beta

Also known as field/site acceptance testing and is performed by customers at their own locations.

Static Test Walkthrough

An informal review process. Defects review/comments are communicated orally to the author. Used when an artifact prepared by a team belonging to one discipline needs to be reviewed by a team from another discipline.

System Tests

Another functional test designed from the functional requirements to validate the software. Executed after smoke/sanity tests have reported success. Formal test that tests the bulk of the functional tests during the testing phase.

Static Tests Static Analysis

Can be informal or formal review process based on the person who is performing it. Defects review/comments might be documented if the review if performed by someone other than the author. Used to analyze the dynamic behavior or the artifact without executing it.

Software Defects

Cause loss of money, time, reputation and life. Detecting defects in the early stages of the SDLC is very important.

Environmental conditions

Certain hardware components may be vulnerable to environmental conditions (temperature, pollution, magnetism) which might impact the functionality and performance of the system.

Evaluating exit criteria and reporting

Checking against exit criteria -> Test Results attained are compared with the exit criteria defined in the planning phase. Determining if more tests are required to attain a required quality level. Prepare a report of test summary for stakeholders.

Test Procedure Specification - Implementation and Execution Deliverable

Contains data about the steps to be followed for executing test cases, how testers are going to run the test(Either manually or using automation).

Incident Reporting (Live) - Implementation and Execution Deliverable

Contains information about the incidents(defects) found during testing.

Test Design Specification Document (Deliverable for Analysis and Design Phase)

Deliverable -Document contains the required test items and test conditions.

Implementation and Execution

Development and prioritizing test cases -> (Test Cases are authored using the test conditions, test data designed in previous phase) Setting up Test Environment -> (The environment components figured out in the previous phase is created and put into action here) Execution -> Test cases authored are executed in the environment that has been set up here. Result Comparison -> After execution of test cases whatever results are received will be compared with the expected result that are brought from the test basis document. Report discrepancies -> If the expected and actual result varies, defect or incident has to be reported to the developers. Repeating test activities -> After debugging re-execution or test cases are done in the form of retesting, so as to validate if those features are working.

Root Cause: Code Complexity

Difficulty in analyzing and coding complicated business logic and processing complex data.

Software testing teams

Help in the timely identification of the defects, which help prevent such losses.

Fuctionality

How accurately does it perform the tasks stated and implied in the requirements

Reliability

How capable is it in maintaining its required level of performance over a period of time.

Efficiency

How economically does it consume available hardware resources to maintain the required level of performance of its functions

Visibility

How simple is it for users to understand, learn and operate the software.

Maintainability

How simple is it to analyze the software make changes and test those changes whenever modifications become necessary.

Portability

How simple is it to install, remove or replace the software and how easy is it for other software to integrate with it.

Root Cause: Human Error

Humans often overlook or misinterpret logical errors due to lack of attention to details.

Test Closure

If planned deliverables have been delivered. Recording the acceptance of system by stakeholders. Archiving the test-ware, test environment for later reuse. Handling over the test-ware to maintenance organization. Investigating lessons learned to determine changes needed for the future releases and projects. Helps improving the testing practices and make the process more matured.

Root Cause: Heterogeneous & Interconnected Technologies

In today's world systems interface with many other applications developed in various technologies independently. Interconnection across these systems may cause defects.

Root Cause: Time Crunch

It increases the probability of incomplete deliverables and human errors.

Static Tests Technical Review

It is a formal review process. Defects review/comments are documented, tracked periodically until they are brought to closure. Used when a version of an artifact needs to be finalized based on a review and sign off by a competent authority.

Static Test Technical Review

It is a semi formal review process. Defects review/comments might be communicated orally or documented for further reference and re-review. Used when an artifact prepared by a novice in one discipline needs to be reviewed by an expert from the same discipline.

Accessibility Tests

Non-functional Tests that establish whether individuals with disabilities will be able to operate the system in question.

Performance Tests

Non-functional test that focuses on the response times of each application component are validated to see if they are under acceptable limits.

Fundamental Test Process Stages

Planning and control -> Analysis and Design -> Implementation and execution -> Evaluating exit criteria and reporting -> Test Closure.

Testing

Process done to identify presence of defects and show failures caused by defects. It can be on code as well as other artifacts and is usually done by one tester.

Debugging

Processes done to find, analyze, and remove the cause of failure. It is done only for code and by the developers.

Analysis and Design

Review Test basis - (Test basis documents are what contains your test cases. Issues can be found during the review and the document can be edited) Test Items Identification - (Objects to focus upon while designing tests and preparing test data). Test Condition Identification - (Test condition is an item or event that could be verified by one or more tests) Identifying Relevant Test Data - (Look for the possible set of test data which can be used while executing the test cases) Designing Test Environment - (it is a place where test cases are executed whenever they are prepared in the implementation and execution phase).

Path Coverage Tests

Structural Tests that are aimed at checking all possible program execution flow paths through the program.

Decision Coverage Tests

Structural Tests that are aimed at ensuring that all decision outcomes, in the program are tested at least once.

Statement Coverage Tests

Structural Tests that are aimed at exercising all programming statements with minimal tests.

Non Functional Tests

Tests that are conducted to validate non functional requirements (reliability, usability, efficiency, maintainability, portability). Testing done by specialized testers who possess the skills to analyze and validate non functional characteristics.

Functional Tests

Tests that are conducted to validate the functional requirements (business functionality). Usually done by normal testers.

Structural tests

Tests that are conducted to validate the program code to check whether it conforms to the structure defined in the design. Testing done by developers.

Dynamic Tests

Tests that are performed by running or executing the software code. Dynamic tests are concerned only with the executable programs. Can only be conducted after the coding phase of the SDLC.

Static Tests

Tests that are performed without executing the software code. Almost all the artifacts created throughout the SDLC are capable of being tested.

Regression Tests

Tests that re-run passed test cases after any code change or defect fix, and check if they are still passing to make sure no functionality is broken unintentionally.

Retests

Tests that re-run the failed test cases once their corresponding defects are fixed to confirm if the fix is working. Also known as confirmation testing.

Software Quality

The degree to which a system, component or process conforms to the specified requirements as per user expectations, contractual agreements and regulatory conditions.

Failure

The manifestation of any existing defects in the system when it is executed in real time may lead to what is called a failure. This can be avoided by detecting and correcting defects and preventing errors.

Dynamic Tests White Box Tests

The software is validated by monitoring the code, program, variables, or system resources during execution. There is complete access and visibility into the code. Validations are done from the programmers perspective. The objective is to understand the system, to locate defect or to validate new code/defect fix.

Dynamic Tests Black Box Test

The software is validated using it's user interface. There is no visibility into the underlying source Code. Validations are done from the end users perspective. The objective is to identify the presence of the defects in the underlying code.

Test Case Specification - Implementation and Execution Deliverable

This report will contain information about test cases, environmental needs for those test cases

Test Summary Report - (Evaluating exit criteria and reporting deliverable)

This report will contain the summarized information about requirements, test cases, defects etc. associated to the project.

Component level testing

Used to test the functional and nonfunctional characteristic of the code/module. Done by white box testers

System Level Testing

Used to test the functional and nonfunctional characteristics of the complete system. Done by Black Box testers.

System Integration Level Testing

Used to test the interaction between different systems or between hardware and software. Also done by black box testers.

Component Integration level Testing

Used to test the interaction between software components and is done after component testing. Also done by white box testers.

Planning and Control

You will need to analyze requirements and then determine and document: Testing Objective (What is expected at the end of testing) Testing Scope (What should be tested and what need not be tested) Testing Strategy (How to achieve the test Objective)

The individuals, teams, and organizations building software have the responsibility of:

ensuring quality by 1) Preventing defects from entering in the software 2) Detecting & fixing defects that are existing as early as possible 3) Ensuring compliance with all required standards contractual obligations, and legal regulations.


Set pelajaran terkait

Chapter 2 Beginning Your Nursing Career

View Set

Social Research Methods Quiz Questions

View Set

Ch. 9 Antibacterial drugs that interefere with DNA/ RNS synthesis

View Set