• No results found

Software Testing Books

N/A
N/A
Protected

Academic year: 2021

Share "Software Testing Books"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

http://www.tutorialspoint.com/software_engineering/software_testing_overview.htm

http://www.tutorialspoint.com/software_engineering/software_testing_overview.htm CopyrCopyright © tutorialspoint.ight © tutorialspoint.comcom

SOFTWARE TESTING O

SOFTWARE TESTING O

VERVIEW

VERVIEW

SOFTWARE TESTING O

SOFTWARE TESTING OVERVIE

VERVIEW

W

Software Testing is evaluation of the software against requirements gathered from users and Software Testing is evaluation of the software against requirements gathered from users and

system specifications. Testing is conducted at the phase level in software development life cycle or system specifications. Testing is conducted at the phase level in software development life cycle or at module level in

at module level in program coprogram code. Softwde. Software testing comprises of Validation and Verification.are testing comprises of Validation and Verification.

Software Validation

Software Validation

Validation is process of examining whether or not the software satisfies the user requirements. It is Validation is process of examining whether or not the software satisfies the user requirements. It is carried out at the end of the SDLC. If the software matches requirements for which it was made, it carried out at the end of the SDLC. If the software matches requirements for which it was made, it is validated.

is validated.

Validation ensures the product under development is as per the user requirements. Validation ensures the product under development is as per the user requirements. Vali

Validation answers the question – "Are we developidation answers the question – "Are we developing the product which attempts all thatng the product which attempts all that user nee

user needs from this software ?".ds from this software ?". Validation emphasizes on

Validation emphasizes on user requirements.user requirements.

Software Verification

Software Verification

Verification is the process of confirming if the software is meeting the business requirements, and Verification is the process of confirming if the software is meeting the business requirements, and is developed adhering to

is developed adhering to the proper specifications and methe proper specifications and me thodologiesthodologies.. Verification ensures the product being developed

Verification ensures the product being developed is according to deis according to de sign spsign specifications.ecifications. Verification answers the question– "Are we developing this product by firmly following all Verification answers the question– "Are we developing this product by firmly following all design specifications ?"

design specifications ?"

Verifications concentrates on the design and system specifications. Verifications concentrates on the design and system specifications.  Targ

 Target of the tet of the test are -est are -Errors

Errors - These are actual coding mistakes made by developers. In addition, there is a - These are actual coding mistakes made by developers. In addition, there is a difference in output of software and desired output, is considered as an error.

difference in output of software and desired output, is considered as an error. Fault

Fault - When err - When error exists fault occurs. A fault, also known as a bug, is a result of an error exists fault occurs. A fault, also known as a bug, is a result of an err oror which can ca

which can cause sysuse system to fail.tem to fail. Failure

Failure - failure - failure is said to be the inability of the systis said to be the inability of the system to perem to perform the deform the desired task. Failuresired task. Failure occ

occurs when fault eurs when fault existxists in the system.s in the system.

Manua

Manual Vs

l Vs Automated Testing

Automated Testing

 Testing can either be done ma

 Testing can either be done ma nually or using an automated testing nually or using an automated testing tool:tool: Manual

Manual - This testing is  - This testing is perfoperformed without taking help of armed without taking help of automated testing tools. Theutomated testing tools. The

software tester prepares test cases for different sections and levels of the code, executes the software tester prepares test cases for different sections and levels of the code, executes the tests

tests and repoand repo rts trts the result to the manahe result to the manager.ger.

Manual testing is time and resource consuming. The tester needs to confirm whether or not Manual testing is time and resource consuming. The tester needs to confirm whether or not right test

right test cases are cases are used. Major porused. Major portion of testing involves manual testing.tion of testing involves manual testing. Automated

Automated This testing is  This testing is a testing procedura testing procedure done e done with aid of automawith aid of automated testted testing tools. Theing tools. The limitations with manual testing can be overcome using automated test tools.

limitations with manual testing can be overcome using automated test tools.

A test needs to check if a webpage can be opened in Internet Explorer. This can be easily done A test needs to check if a webpage can be opened in Internet Explorer. This can be easily done with manual testing. But

with manual testing. But to check if the web-server cato check if the web-server ca n take the load on take the load of 1 milliof 1 million users, it n users, it is quiteis quite impossible to test manually.

impossible to test manually.  Ther

 There are software and hardware toole are software and hardware tools ws which helps testhich helps tester in conducting loaer in conducting loa d testd testing, sting, stress tress testing,esting, regression testing.

regression testing.

Testing

(2)

 Tests can be conducted based on tw

 Tests can be conducted based on two approo approacheaches –s – Functionali

Functionality testty testinging Implementation testing Implementation testing When function

When functionality is being testality is being tested without ted without taking the actual aking the actual implemimplementation in coentation in concern incern it is knowt is knownn as black-bo

as black-box testx testing. The oing. The other side is known as white-box testing wther side is known as white-box testing where here not only functionanot only functiona lity islity is tested but t

tested but the way it is implemehe way it is implemented is also anted is also analyzed.nalyzed. Exhaustiv

Exhaustive tests e tests are the beare the best-st-desired mdesired method for a ethod for a perfeperfect testct testing. Every sing. Every single poingle possible value inssible value in the range

the range of the input anof the input and output values is testd output values is tested. It is not possible to test each and ed. It is not possible to test each and every value inevery value in real world scenario if the range o

real world scenario if the range o f values is large.f values is large.

Black

Black-box

-box testing

testing

It is

It is carrcarried out to test functionality of the prograied out to test functionality of the program. It is m. It is also caalso called ‘Belled ‘Behaviorahavioral’ testl’ testing. The testering. The tester in this case, has a set of

in this case, has a set of input values and reinput values and re spective desired rspective desired results. Oesults. On providing in providing input, if thenput, if the output matches wit

output matches with the desired reh the desired resultssults, the program i, the program is tests tested ‘ok’, and probleed ‘ok’, and problematic othermatic otherwise.wise.

In this t

In this testing method, the design aesting method, the design and structure of the cnd structure of the code aode are nore not known tt known to the tester, and testingo the tester, and testing engine

engineers and end userers and end users conduct this ts conduct this test on the softwest on the software.are. Black-box testing techniques:

Black-box testing techniques: Equivalence class

Equivalence class - The input is divided into similar classes. If one element of a class passes - The input is divided into similar classes. If one element of a class passes the test, it is ass

the test, it is assumed umed that all the that all the class is passed.class is passed. Boundary values

Boundary values - The input is divided into higher  - The input is divided into higher and lower eand lower end values. If tnd values. If these valueshese values pass the test

pass the test, it is assumed that all values in be, it is assumed that all values in be twtween meen may pass too.ay pass too. Cause-effect graphing

Cause-effect graphing - In both previous methods, only one input value at a time  - In both previous methods, only one input value at a time is testis tested.ed. Cause (input) – Effect (output

Cause (input) – Effect (output) is a test) is a testing technique where ing technique where combicombinations of input values arenations of input values are tested in a

tested in a syssystematic way.tematic way. Pair-wise Testing

Pair-wise Testing - The behavior of software depends on multiple parameters. In pairwise - The behavior of software depends on multiple parameters. In pairwise testing, the multiple parameters are tested pair-wise for their different values.

testing, the multiple parameters are tested pair-wise for their different values. State-based testing

State-based testing - The  - The syssystem chantem changes state on provision oges state on provision of input. These systf input. These systems areems are tested based on their

tested based on their states and input.states and input.

White-box testing

White-box testing

It is conduct

It is conducted to test program and its implementatied to test program and its implementation, in order on, in order to improve code to improve code efficiency orefficiency or structure. It is also kno

structure. It is also known as ‘Structural’ testing.wn as ‘Structural’ testing.

In this t

(3)

of the code conduct this test on the code. of the code conduct this test on the code.  The belo

 The below are some White-box testw are some White-box testing techniques:ing techniques: Control-flow testing

Control-flow testing - The  - The purpose opurpose of the controf the control-flow testing to set up tl-flow testing to set up test cases whichest cases which covers all statements and branch conditions. The branch conditions are tested for both being covers all statements and branch conditions. The branch conditions are tested for both being true and false, so that all statements can be covered.

true and false, so that all statements can be covered. Data-flow testing

Data-flow testing - This testing technique emphasis to cover all the data variables included - This testing technique emphasis to cover all the data variables included in the program. It tests where the variables were declared and defined and where they were in the program. It tests where the variables were declared and defined and where they were used or changed.

used or changed.

Testing Levels

Testing Levels

 Testing its

 Testing itself may be defineelf may be defined at vd at varioarious levels of SDLC. us levels of SDLC. The testing process runs The testing process runs paralparallel tolel to

software development. Before jumping on the next stage, a stage is tested, validated and verified. software development. Before jumping on the next stage, a stage is tested, validated and verified.  Testing separately is done just

 Testing separately is done just to make sure that to make sure that there are no hiddthere are no hidden bugs or issen bugs or issues left in tues left in thehe softw

softwareare. Software is tested on various le. Software is tested on various le vels -vels

-Unit Testing

Unit Testing

While coding, the programmer performs some tests on that unit of program to know if it is error While coding, the programmer performs some tests on that unit of program to know if it is error free. Testing is performed under white-box testing approach. Unit testing helps developers decide free. Testing is performed under white-box testing approach. Unit testing helps developers decide that ind

that individuividual units of the program aal units of the program are working as per requiremere working as per requirement and are nt and are error error free.free.

Integra

Integration

tion Testing

Testing

Even if the units of softw

Even if the units of software aare are working fine re working fine individually, there is a neeindividually, there is a nee d to find out if the units if d to find out if the units if  integrated together would also work without errors. For example, argument passing and data integrated together would also work without errors. For example, argument passing and data updation etc.

updation etc.

System Testing

System Testing

 The software is compiled as produc

 The software is compiled as product and tt and then it is hen it is tested as tested as a whole. This can be accoma whole. This can be accomplishedplished using one or more of the following tests:

using one or more of the following tests: Functionality testing

Functionality testing - Tests all functionalities of the software against the requirement. - Tests all functionalities of the software against the requirement. Performance testing

Performance testing - Thi - This test proves how efficies test proves how efficient the software is. It testnt the software is. It tests thes the

effectiveness and average time taken by the software to do desired task. Performance effectiveness and average time taken by the software to do desired task. Performance testing is done by mea

testing is done by means of loans of load testing and stress td testing and stress testing where the software is put underesting where the software is put under high user and

high user and data load data load under various environment conditionsunder various environment conditions.. Security & Portability

Security & Portability - These tests are done when the software is mea - These tests are done when the software is meant to wnt to work onork on various platforms and accessed by number of persons.

various platforms and accessed by number of persons.

Accepta

Acceptance T

nce Testing

esting

When the software is rea

When the software is ready tdy to hand oo hand over to the customer it has to go through laver to the customer it has to go through last phase of testst phase of testinging where it is tested for user-interaction and response. This is important because even if the software where it is tested for user-interaction and response. This is important because even if the software matches all

matches all user requiruser requiremeements and if user does not like the way it appears or nts and if user does not like the way it appears or works, works, it may beit may be rejected.

rejected.

Alpha testing

Alpha testing - The team of developer themselves perform alpha testing by using the - The team of developer themselves perform alpha testing by using the sys

system as if item as if it is being used in work et is being used in work environmenvironment. They try tnt. They try to find oo find out how user would reaut how user would react toct to some a

some action in software and hoction in software and how tw the systhe system should reem should respond to inputs.spond to inputs. Beta testing

Beta testing - After the software i - After the software is tests tested internaed internally, it is handed over to the ully, it is handed over to the users to use itsers to use it under their production environment only for testing purpose. This is not as yet the delivered under their production environment only for testing purpose. This is not as yet the delivered produc

product. Developers expect that users at tt. Developers expect that users at this sthis stage will bring mage will bring minute probleinute problems, wms, which werehich were skipped to attend.

skipped to attend.

Regression Testing

Regression Testing

(4)

Whenever

Whenever a software produca software product is updated witt is updated with new code, feah new code, feature or functure or functionality, it is tionality, it is testedtested

thoroughly to detect if there is any negative impact of the added code. This is known as regression thoroughly to detect if there is any negative impact of the added code. This is known as regression testing.

testing.

Testing Documentation

Testing Documentation

 Testing docume

 Testing documents nts are preare prepared at differpared at different stent stages -ages

-Before Testing

Before Testing

 Testing st

 Testing starts warts with tith test cases est cases genergeneration. Following documeation. Following documents nts are neare needed for reeded for refereference –nce – SRS document

SRS document - Functional Requirements document - Functional Requirements document Test Policy document

Test Policy document - This describes how far testing should take place before releasing - This describes how far testing should take place before releasing the product.

the product.

Test Strategy document

Test Strategy document - This mentions detail a - This mentions detail aspects of test spects of test team, responsibiliteam, responsibility ty matrixmatrix and rights/responsibility of test manager and test engineer.

and rights/responsibility of test manager and test engineer. Traceability Matrix document

Traceability Matrix document - This is SDLC document, which is related to requirement - This is SDLC document, which is related to requirement gathering process. As new requirements come, they are added to this matrix. These matrices gathering process. As new requirements come, they are added to this matrix. These matrices help testers know the source of requirement. They can be traced forward and backward. help testers know the source of requirement. They can be traced forward and backward.

While Being Tested

While Being Tested

 The fol

 The following documelowing documents nts may be requiremay be required while td while testing is esting is started and is started and is being done:being done: Test Case document

Test Case document - This docume - This docume nt contains list of testnt contains list of tests required to be s required to be conducted. Itconducted. It include

includes Unit ts Unit test plan, Integration test plan, Systest plan, Integration test plan, System test plan aem test plan and Accnd Acceptance eptance test plan.test plan. Test description

Test description - This document is a  - This document is a detailed descriptdetailed description of ion of all test cases and proceduresall test cases and procedures to execute them.

to execute them. Test case report

Test case report - This docume - This document contains test nt contains test case recase report as a result of the test.port as a result of the test. Test logs

Test logs - This docume - This document contains test nt contains test logs for elogs for every test very test case recase report.port.

After Testing

After Testing

 The fol

 The following documelowing documents nts may be generamay be generated after testted after testing :ing : Test summary

Test summary - This test  - This test summary is collesummary is colle ctive analysis of all test reports and logs. Itctive analysis of all test reports and logs. It

summarizes and concludes if the software is ready to be launched. The software is released summarizes and concludes if the software is ready to be launched. The software is released under version c

under version control systontrol system if it is reaem if it is ready to launch.dy to launch.

Testing vs. Quality Control, Quality Assurance and Audit

Testing vs. Quality Control, Quality Assurance and Audit

We nee

We need to understand that softwd to understand that software testing is differeare testing is different from software qualint from software quality ty assurance, softwareassurance, software quality control and software auditing.

quality control and software auditing. Software quality assurance

Software quality assurance - These  - These are software development process monitare software development process monitoring means,oring means, by w

by which it is assured that all the meahich it is assured that all the measures are taken asures are taken as per the standards of orgas per the standards of organization.nization.  This monitoring is done to make sure that proper software developme

 This monitoring is done to make sure that proper software developme nt methods wnt methods wereere followed.

followed.

Software quality control

Software quality control - This is a system to maintain the  - This is a system to maintain the quality of software proquality of software product. Itduct. It may include functional and non-functional aspects of software product, which enhance the may include functional and non-functional aspects of software product, which enhance the goodwill of the organization. This system makes sure that the customer is receiving quality goodwill of the organization. This system makes sure that the customer is receiving quality product for their requirement and the product certified as ‘fit for use’.

product for their requirement and the product certified as ‘fit for use’. Software audit

Software audit - This is a review of procedure used by the organization to develop the - This is a review of procedure used by the organization to develop the software. A team of auditors, independent of development team examines the software software. A team of auditors, independent of development team examines the software process, procedure, requirements and other aspects of SDLC. The

process, procedure, requirements and other aspects of SDLC. The purpose of softwpurpose of software are auditaudit is to check that softw

is to check that software aare and its development procnd its development process, both conform standards, rules andess, both conform standards, rules and regulations.

(5)

References

Related documents

Set in its entirety onboard the Jovian Discoverer IV, an orbital gas-mining platform (or ‘rig’) in Jupiter orbit, the adventure assumes that the Investigators are all

As a result of analyzing the competitive role, the potential economic development effects and the economic-social environment of univer- sities we can create the virtual model

M onitor time and temperature during every SIP process M anual check of all steam traps to ensure adequate air removal prior to initiating cycle Periodic calibration of all

As regards common clinical areas in which NSIs and sharps injuries to occur, findings of the present study revealed that about 23% students at health professional colleges

Co-ingestion of carbohydrate with caffeine compared to carbohydrate alone enables improvements in high intensity running performance of professional rugby league

Figure 5-48: Eucalyptus cyclone ash data collected on the D2 diffractometer Cu Kɑ radiation ... 200 Figure 5-49: SEM electronmicrographs of eucalyptus combustion trial cyclone

Academic Support Division ...34-42 Academic Support Div., Course Listings & Descriptions, Adult HS ..34-41 Basic Skills Education, CALC ...34-41 ESL, External Diploma,

The markup <html> Starts the document <head> Opens the header </head> Closes the header <body> Opens the body </body> Closes the body