大三下-软件测试技术_第1页
大三下-软件测试技术_第2页
大三下-软件测试技术_第3页
大三下-软件测试技术_第4页
大三下-软件测试技术_第5页
免费预览已结束,剩余39页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SE-307

Software

Testing

Techniqueshttp://m

/wiki/display/SE307/HomeInstructor:

Dr.

Wang

Xinming,

School

of

Software,

Sun

YaUniversity4.Part

I

[Overview]of

TestingSE-307

Software

Testing

Techniques

Where

are

we?

Software

QualityQuality

AssuranceQuality

ControlValidationVerificationInspectionModel

checkingProgram

ysisTestingJune

14,

20142SE-307

Software

Testing

Techniques

Outline

of

testing

techniquesBasic

conceptsWhat

are

the

testing

activities?The

PMOD

(Problem,

Method,

Objective,model

to

understandtesting

techniques.)of

testing

careerTesting

in

big

globalcompanies:example.Testing

in

local

companies:as

an质量测试中心asanexample.Survey

in

China

software

testing

industry.June

14,

20143SE-307

Software

Testing

Techniques

Concepts

inTesting

Testing:The

process

of

executing

a

program

with

the

intent

of

findingerrors.Debugging:Finding

and

fixing

faults

in

the

code.Test

Input:Data

or

operation

sequence

to

drive

the

execution

of

thesubject

under

testTest

Oracle:A

mechanism

for

determining

whether

a

test

run

has

passedor

failed.Test

Case:test

input

+

test

oracleTest

Harness:A

collection

of

software

and

test

d

onfigured

to

test

aprogram

by

running

it

under

varying

conditions

and

monitoringits

behavior

and

outputs.June

14,

20144SE-307

Software

Testing

Techniques

Concepts

in

Testing

QC:

God

and

angelsTest

harness:Garden

of

EdenSubjects

under

test:Adam

and

EveTest e:

failJune

14,

20145Test

oracle:assert(!apple_eaten())Quality

under

concern:

obedienceTest

input:apples

and

snakeSE-307

Software

Testing

Techniques

Test

Activities

Testing

can

be

broken

up

into

four

general

types

of

activitiesTest

DesignTest

ImplementationTest

ExecutionTest

EvaluationEach

type

of

activity

requiresdifferent

skills,

backgroundknowledge,

educationand

trainingThey

might

not

be

carried

out

be

the

samepeopleNo

reasonable

software

development

anization

uses

thesamepeople

for

requirements,

design,

implementation,

integration

andconfiguration

controlJune

14,

20146SE-307

Software

Testing

TechniquesA

Overview

of

Testing

Techniques:

PMODProblemsFundamental

problems:

test

adequacy,test

oracle,

test

generationOther

important

problems:test

automation,

test

managementMethodsExploratory

testing,

blackboxtesting,

white

box

testing,

model-basedtestingObjectivesFunctional

testing

(unit

testing,

integration

testing,

system

testing),Performance

testing,

Validation

testing

(alpha

testing,

beta

testing),Performance

testing

(stress

testing,

load

testing),

Reliability

testing,Regression

testing,Securitytesting,Compatibility

testing,

...sDatabase,Mobile,Game,Mutil-threaded,Web

application…June

14,

20147SE-307

Software

Testing

TechniquesWhat

are

the

concerned

quality

factors?How

do

we

anize

the

testing

activities?Problem:

plan

and

processExecuteTest

runs

Problems

(PMOD)Test

casesDesignWhat

is

the

goal

of

test

case

design?When

do

we

have

enough

test

cases?Problem:

test

adequacyProgram

undertestHow

do

we

generate

test

data

toAchievewithDetermineFix

detected

faultsHow

to

judge

the

test

e?Problem:

test

oracleEnhance

testdata

to

test

caseAutomate

theexecutionof

testcasesJune

14,

20148SE-307

Software

Testing

Techniques

Methods(PMOD)Exploratory

method

(探索性测试方法)Explore

the

software

while

designing

and

executing

testssimultaneously.Black

box

method(黑盒测试方法)Treat

the

program

as

a

black

box,

ignoring

its

internal

structure.White

box

method

(白盒测试方法)Logical ysis

of

code

element

(e.g.

basic

block,

branch,

path

...).Model-based

method(基于模型的测试方法)Based

on

a

formal

model

of

the

software.June

14,

20149June

14,

201410SE-307

Software

Testing

Techniques

Objectives(PMOD)ObjectivePurposeFunctional

testing(功能测试)Verify

the

functionalities

of

the

system

against

therequirement

specification.Regression

testing(回归测试)Verify

that

changes

to

the

software

do

not

break

thefunctionalities

of

the

previous

version.Load

testing(并发测试)Verify

the

behavior

of

the

system

under

both

normal

andanticipated

peak

load

conditions.Stress

testing(压力测试)Verify

the

behavior

of

the

system

beyond

its

capacity.Reliability

testing(可靠性测试)Verify

that

the

failure

rate

of

the

software

is

under

anacceptable

level.Usability

testing(可用性测试)Verify

that

the

ease

of

using

and

learning

the

software.Validation

testing(确认测试)Verify

that

the

software

delivers

what

the

users

expect(alpha

testing

and

beta

testing).SE-307

Software

Testing

Techniques(PMOD)Operation

systemKernel,

device

driverDatabase

applicationSQL

table,

transaction

processing,

ACIDWeb

applicationJavascript,

Ajax,

HTML5Multi-threaded

applicationData

race,

atomicity,

transactional

memory,

asychronized

tasksCloud

applicationMap-reduce,

distributed

computingMobile

applicationAndroid,

touch-screen,

sensors………June

14,

201411SE-307

Software

Testing

TechniquesJune

14,

201412Tester

CompetencySoft

skills

(non-technical

attributes)Discipline

and

PerseveranceTesting

is

repetitive

and

requests

a

lot

of

manual

effortHave

the

ability

to

withstand

pressures

and

workloadSay

‘no’

to

managers

when

quality

is

insufficientReading

skills:

study

many

docs

of

specs,

designCommunication

&

Interpreter

skillsBoth

Verbal

and

Written

communicationDiplomatic

skillBe

able

to

communicate

with

technical

and

non-technicalpeople,

engineers,

managers,

customersNegative

thinking:

foresee

things

that

can

go

wrong,

evaluate

risksAttitude:

‘test

to

break’

attitudeTime

management

and

Effort

prioritizationSE-307

Software

Testing

TechniquesJune

14,

201413Tester

CompetencyTechnical

skillsFamiliarity

with

software

development

architectures,processesFamiliarity

with

testing

methodologiesVery

clearlyarticulatespecs,

designs,

businessrules,inspection

reports,

configurations,

code

changes,

TP,TC,

bug

reports,

user

manuals,…Know

how

and

where

to

look

for

bugsKnow

how

to

report

the

defects

effectively

for

quicklyreproduceSE-307

Software

Testing

Techniques

Don’t!

June

14,

201414SE-307

Software

Testing

Techniques

Outline

of

testing

techniquesBasic

conceptsWhat

are

the

testing

activities?The

DOMP

( ,

Objective,

Method,

Problem)model

to

understandtesting

techniques.of

testing

careerTesting

in

big

globalcompany:example.Testing

in

localcompany:as

an质量测试中心as

anexample.Testing

survey

in

China

software

industryJune

14,

201415SE-307

Software

Testing

Techniques

How

Tests? How

many

testers

are

there

in

?What

are

their

career

path?What

kind

of

testing

technology

do

they

use

in?June

14,

201416SE-307

Software

Testing

Techniques Remarks

by

Bill

Gates

17th

Annual

ACM

Conference

on

Object-OrientedProgramming,

Seattle,

Washington,

November

8,

2002“…

When

you

look

at

a

big

commercial

software

companylike ,

there's

actually

as

much

testing

thatgoes

in

as

development.

We

have

as

many

testers

as

we

have

developers.

Testers

basically

test

all

the

time,and

developers

basically

are

involved

in

the

testingprocess

about

half

the

time…June

14,

201417SE-307

Software

Testing

Techniques Remarks

by

Bill

Gates

17th

Annual

ACM

Conference

on

Object-OrientedProgramming,

Seattle,

Washington,

November

8,

2002“…

We've

probably

changed

the

industry

we'rein.We're

not

in

the

software

industry;

we're

in

the

testing

industry,

and

writing

the

software

is

the

thingthat

keeps

us

busy ng

all

that

testing.”“…The

test

cases

are

unbelievably

expensive;

in

fact,there's

more

lines

of

code

in

the

test

harness

than

there

is

in

the

program

itself.

Often

that's

a

ratio

ofabout

three

to

one.”June

14,

201418SE-307

Software

Testing

Techniques

Disciplines

inAs

of

early

2008,

employs

nearly

35,000

engineers

worldwide.They

are

divided

into

different

discipline.Three

largest

disciplines:

Development

,

Program

Management,

andTest.June

14,

201419SE-307

Software

Testing

Techniques

Employee

in

the

three

disciplines

Program

Managers

(PM)Project

management,

product

planning,

and

design.Define

a

new

product's

technical

aspects

and

oversee

its

hands-on

development.Software

Development

Engineers(SDE)Often

referred

to

as

Software

Development.Write

the

code

that

drives

products

and

upgrades.Software

Development

Engineers

in

Test

(SDET)Usually

just

called

Test

and

sometimes

Software

TestingResponsible

for

maintaining

high

testing

and

quality

assurancestandards

for

all

products.June

14,

201420SE-307

Software

Testing

Techniques

Two

type

of

testers

previously

SDE/T

andSTE

(Now

merged

toSDET)June

14,

201421SE-307

Software

Testing

Techniques

SDET

recruitment

“TesterDNA

has

to

include

a

naturalability

to

do

systems

levelthinking,skills

in

problem position,

apassion

for

quality,

and

a

love

offinding

out

how

something

works

andthen

how

to

break

it.

”9,000

SDET

as

of2008500

new

tester

positions

every

yearSplit

between

campus

and

industryrecruitmentCampus

recruitment

divided

betweenNorth

America

universities

and

foreignuniversitiesJune

14,

201422SE-307

Software

Testing

Techniques

SDET

career

path:

IC

track

June

14,

201423SE-307

Software

Testing

Techniques

SDET

career

path:

Management

track

June

14,

201424SE-307

Software

Testing

Techniques:

Path

diagram

Testing

Career

inJune

14,

201425SE-307

Software

Testing

Techniques:

Training

Testing

Career

inJune

14,

201426SE-307

Software

Testing

Techniques:

Requirement

“Tester

DNA”ytical

Problem

Solving

(分析能力)Customer-Focused

Innovation(为客户创新的能力)Technical

Excellence

(技术能力)Project

Management

(管理能力)Passion

for

Quality

(热衷质量)Strategic

Insight(主见)Confidence(自信)Impact

and

Influence(

)Cross-Boundary

Collaboration(合作)Inter alAwareness(自省)

Testing

Career

inJune

14,

201427SE-307

Software

Testing

Techniques

Testing

Techniques

Functional

testingEquivalence

class

partitionBoundary

valueCombinationalysisysisStructural

testingBasic

block

CoverageBranch/Decision

TestingData

Flow

TestingPath

TestingModel-based

testingFinite

state

based

testing

with

Visual

studio

Spec

ExplorerTest

AutomationScripting

with

VBScriptJune

14,

201428SE-307

Software

Testing

Techniques

Testing

in

a

local

company

http:

/市科学技术

市质量

技术

联质量技术监督系统首家通过国家认可合创办认可和计量认证的软件产品质量检测的第

测试机构国家科技部火炬中心

的测试平台国家863承接专业孵化器测试项目的

测试企业的产品测试外包

的测试June

14,

201429SE-307

Software

Testing

Techniques

Staff

Test

manager(测试组长)Write

test

plan,

monitor

progress.Test

engineer(测试工程师)Write

and

execute

test

cases,

report

defects.Subject

matter

expert

(业务

)Communicate

with

clients.June

14,

201430SE-307

Software

Testing

Techniques

Workflow

June

14,

201431SE-307

Software

Testing

Techniques

Test

Manager

Test

PlanObjectivesJune

14,

201432SE-307

Software

Testing

Techniques

Test

Engineer

Test

case

designFormulate

expectedinput/output

for

eachtest

point

from

the

testplanExamine

testcoverage,Covert

manual

test

toautomated

test

ifpossibleJune

14,

201433SE-307

Software

Testing

Techniques

Test

Engineer

Tool

usageWhitebox

testing(NuMega)Memory

leak/error,

Code

coverage,

Profiling,

CodeysisBlackbox

testing(QARun)Capture

and

replayStress

testing(Q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论