大学计算机软件测试复习资料Word文档下载推荐.docx
- 文档编号:16342916
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:18
- 大小:210.33KB
大学计算机软件测试复习资料Word文档下载推荐.docx
《大学计算机软件测试复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大学计算机软件测试复习资料Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
设计:
和规格说明原因一样;
仓促,改变,沟通不好
为什么软件有bug?
沟通不良;
不沟通;
软件变化;
自我
Bug成本、损失:
指数级增长,从规格说明->
设计->
编码->
测试->
发布
测试员的目标:
找到bugs;
尽可能早的发现它们;
确保它们最终都被修正;
学习被业界讨论的技术。
测试员:
开发人员、测试组、QA组、最终用户
调试员:
程序分析员、开发人员
以找错误的目的,在控制条件下对系统或应用的操作,评价最终结果。
尝试使出错,意图是“检测”
调试:
开始于一个识别的错误,是定位错误,并修正的过程。
不关注怎样发现bug,关注怎样修正bug
Someexercises:
What’s
wrong
with
just
testing
that
a
program
works
as
expected?
Give
some
reasons
why
the
product
specification
is
usually
largest
source
of
bugs
in
software
product.
Ch.2软件开发过程
软件产品:
不仅仅是一个程序,是由正常交付的软件组件组成;
典型地被组织到和生命周期中一些典型阶段一致的种类中
所有测试员对这些产品组成都有所了解且去检测他们
产品组成:
用户需求;
MRD(任务/特征描述,可用数据);
规格说明;
进度表;
设计文件;
在线帮助;
readme;
发布包裹。
帮助文件;
用户手册;
错误信息;
安装说明;
产品支持信息
需求:
使用者所需要的能力条件,去解决一个问题或获得某个事物(IEEE)
好的需求:
可见;
一致;
完整;
运行可靠;
可度量;
可取得;
可跟踪;
可修改
规格:
和需求不太一样,把需求最终正式文档化,最终定义产品是什么、外观怎样、有什么功能
写MRD和SPEC,注意可确认性,符合原来规格说明定义的
Somewaystoquantify:
速度;
规模;
易使用;
可靠性;
健壮性;
易携带性
进度表:
详细制定;
有软件工具生成,也有很多估算时间和花费的方法;
测试人员也要考虑测试计划和进度表。
设计文档:
详细层次。
结构设计文档,数据流图,状态转换图,实体关系图,决策表
测试文档:
说明软件产品测试的文档。
测试计划,测试用例,bug报告,度量统计数据及报告总结,发现了多少bug
软件工程人员:
PM;
高级的工程师;
系统测试员;
系统分析员;
构架师;
编程人员;
测试员;
QA;
技术文档的书写者;
用户协作的书写者(用户手册,安装说明);
用户训练员;
手册编写者;
配置管理员
PM:
和设计人员协作决定什么功能可以在什么时间实现;
在测试时和设计人员、测试设计工程师沟通
测试组织中的角色
测试管理者:
协调,决定问题优先解决
测试领导:
领导设计测试计划等
高级测试员:
设计测试模块和测试用例,测试用例执行,提供技术支持
低级测试员:
执行测试用例,记录测试结果,提交bug报告和测试中的问题
为什么要再SDLC建立模型?
SDLC软件开发生命周期:
起于应用第一次被构想,止于它不再被使用
计划->
分析->
实现->
roll-out
SDLC过程:
需求->
产品设计->
技术设计->
编码&
单元测试->
功能&
系统&
验收测试->
big-bang大爆炸模型:
集中很多人和金钱;
花费很多精力和时间;
极少的计划、安排和正式开发过程;
没有测试;
软件or废品
code-and-fix边写边修改模型:
开始于一个不正式产品规格说明,编码、修改,重复直到满意;
工作随意;
“There’snevertimetodoitright,butthere’salwaystimetodoitover.”
随着项目一直在变,要不断改变测试方法;
在测完这个版本前,接到了下一个;
waterfall瀑布模型:
相邻阶段间可回溯;
可跳跃回溯
每件事都被仔细地严格地说明;
安排好了准确的计划和进度表;
测试直到后期才开始;
会有bug潜伏在早期程序中,最后影响产品;
修复代价会很高
Rapid快速模型:
快速应用,把产品定义过程缩短
没有特别提供测试,但经常在重复阶段时做;
缺少正式定义测试阶段;
整个模型易退化成边写边修改模型
V模型--------快速应用开发
Spiral螺旋模型
程序员可以较早介入到软件开发中;
帮助测试员选择合适的测试计划和安排;
开发需求和说明在随时间变化;
每个螺旋都是瀑布模型;
加入风险分析;
太复杂,周期太长
XP极限编程:
小团队,高风险,快速变化的需求,需要可测性
主要关注交流、简单、回馈、面对高风险的勇气
TDD测试驱动开发:
测试先于开发,TF+重构
在编之前就写测试代码,优化代码等要求粗要重构功能点+性能点
阶段开发模型:
bulidrelease1->
userelease1
Bulidrelease2->
userelease2
Bulidrelease3->
userelease3
增量模型VS迭代模型:
一步一步完成VS现有抽象概念、定义,然后再填充
Someexercise:
•What
disadvantage
there
to
having
formal,
locked‐down
specification?
•Why
can
waterfall
method
be
difficult
use?
Ch.3软件测试的现实
不存在bug-free的产品;
测试永远也无法穷尽;
适合的停止时间;
测试有可能的话,尽早介入;
bug严重等级;
测试和fix没有界限;
测试人员数字要足够大
测试公理:
1.不可能完全测试一个程序:
输入/输出太多;
路径太多;
观看者自己的评判标准
2.测试不能够证明bug不存在
3.软件测试是非常有风险的:
寻找最佳点(成本和缺陷)
4.发现的bug越多,这里就有更过的bug:
baddays;
犯同样的错;
发现的知识冰山一角
5.杀虫剂悖论:
有抵抗,杀虫剂不再有效;
新的,各种不同的测试用例
6.不是所有发现的bug都会被修改:
时间;
根本不是bug;
风险;
不值得;
不能被修改;
第三方因素
7.很难说清什么样的bug算是一个bug
8.产品规格说明永远不会有最终版本:
随着用户需求变化
9.软件测试人员不是开发团队中受欢迎的:
早点发现bug;
控制情绪;
不要总是报告坏消息
10.软件测试是一个比较严格的技术
精确度(precision):
所有的答案都差不多,但不是正确答案eg.0.123±
0.03可接受
准确度(accuracy):
准确的答案0.125
产品规格是错的,有精确度,无准确度
确定(verification):
确认系统满足规格说明要求
验证(validation):
是否能够满足用户需求
质量(quality):
是否是质量中的一个要素,决定权完全在使用者手里,主观
可靠性(reliability):
是否很稳定的类型,看用户的需求
测试(testing):
参与质量的控制方面,只关心错误,保证被修正,找bug
质量保证QA(qualityaccuracy):
防止软件发生缺陷,创造比较标准的流程,可控,预防
QC->
QA->
QM->
TQM手工操作者->
专职检验员->
过程统计技术->
全面质量管理->
以顾客为中心
黑盒测试:
不知道结构,只关心输入和输出功能测试、数据驱动测试
白盒测试:
知道内部结构、路径是怎么实现的路径、分支、循环、结构性测试、逻辑驱动测试
灰盒测试:
综合以上两种,知道部分结构
静态测试:
检查并review代码及其他支持材料,不需要运行程序
动态测试:
代码进行运行
测试分类:
黑盒;
白盒;
单元(在函数或模块内的测试,不关注接口);
集成(更注重接口,新增的功能);
回归(难,原来的bug已修复,再次提交时,对这个bug的测试;
原来已经通过的测试用例要不要测试,争议较大,如何选择测试的用例集合)
测试阶段:
比较测试:
和竞争产品比较弱点和优点
Alpha(α)测试:
系统测试
开发接近完成时测试;
可能需要少量设计修改;
应用到真实的潜在用户;
小范围,可控;
把人集中起来
Beta(β)测试:
验收测试
开发和测试都可以看作完成,在最终发布前寻找最后的bugs和问题;
范围更广,不可控。
Eg.游戏公测
功能性测试:
黑盒测试的同义词
系统测试:
类黑盒测试、灰盒测试,基于总体的需求和规格说明
压力测试:
经常和负荷测试,性能测试一起
性能测试:
经常和负荷测试,压力测试一起
负荷测试:
在重负荷下测试,得到系统响应时间在哪一点下降了或者失败了
End-to-end:
测试模仿现实世界使用
验收测试:
基于最终用户或客户的规格说明的最终测试
可用测试:
测试用户友好度,主观的,决定于最终用户或客户
Recovery复活测试:
测试系统从碰撞、硬件损坏或者其他问题中的恢复情况
安装/卸载、安全、兼容性
Someexercises:
•If
you
were
simulation
game
such
flight
simulator
or
city
simulator,
what
do
think
would
more
important
test
–its
accuracy
its
precision?
•Is
it
possible
have
high‐quality
and
low‐reliability
product?
What
might
an
example
be?
汽车,手机
feature
your
on
Monday
finding
new
bug
every
hour,
at
rate
expect
find
Tuesday?
PartIITestingFundamentals
SDLC中的测试阶段:
集成测试------->
功能测试--------->
系统测试----------->
验收测试--------->
安装测试
组件设计规格说明系统功能需求其他软件需求用户需求规格说明用户环境使用系统
Ch.4ExaminingtheSpecification---------静态、黑盒测试
为什么要审查规格说明?
能发现无法通过测试发现的bugs,特别是逻辑设计问题;
在生产之前就发现缺陷;
降低成本;
缩短SDLC
审查规格说明是静态测试(它还不是一个程序)、黑盒测试(不考虑规格说明是如何确定的)。
测试人员无需了解被测试项的内部结构,直接根据程序输入和输出之间的关系或程序的需求规范确定测试数据,推断测试结果的正确性主要测试功能需求。
同义词:
行为、功能、不透明、封闭的盒子
功能测试、系统测试、验收测试-------------是黑盒测试
黑盒测试优点:
测试员不需要任何程序语言的知识,测试员和程序员是互相独立的;
测试员从用户的角度测试,而不是设计者的角度;
规格说明一完成,测试用例就可以被设计;
在大型代码单元里,比白盒测试更有效;
帮助暴露规格说明中的歧义和不一致
缺点:
测试每种可能的输入是不可能的;
测试可能是多余的;
没有明确的规格说明,测试用例很难设计;
无法指明错误位置;
文档测试:
确保书写了需要的文档;
确定规格说明文档的信息是一致的、准确的、易读的
有的需求说明指明了文档的形式和阅读者
高层review:
检查是否有逻辑错误;
阅读MRD,更多地想用户需要什么
现有的标准和指导方针(工厂需求;
政府标准;
硬件和网络标准)
Reviewandtest类似的软件
低层规格说明测试技术:
规格说明属性检查列表/清单:
完整性、准确性、精确性(无二义)、一致性、相关性、合理性(可行性)、code-free不涉及代码、可测性
规格说明术语检查列表/清单:
always,every,all,none,never;
无例外?
certainly,therefore,clearly,obviously,evidently;
很有说服力,同意否?
some,sometimes,often,usually,ordinarily,customarily,most,mostly;
太模糊,无法测试
软件评审过程(SIP----softwareinspectionprocess)
Planning:
定义要评审的工作产品,建立评审日程表;
主持人;
作者
Overview:
让不熟悉要评审工作产品的队员熟悉它;
作者;
检查者
Preparation:
队员独立评审产品,寻找缺陷;
检查者;
主持人;
读者
Inspection:
评审队员开会,讨论产品中合适的缺陷;
作者;
检查者;
读者;
记录员
Rework:
工作产品被修改,直到符合需求和规格说明;
解决缺陷;
未解决的报告项目经理;
告知主持人
followup:
rework被验证,收集和总结最后评审数据,评审结束作者;
主持人
选择评审团队->
安排地点和时间->
分发文档->
主持评审->
记录结果和所做之事
SIP角色:
记录员;
检查者inspector
Exercises:
Explains
tester
should
worry
about
this
line
from
spec:
The
will
allow
up
100
millionsimultaneous
connections,
although
no
1
million
normally
used.
Ch.5Testingthesoftwarewithblinderson------------动态、黑盒测试
动态、黑盒测试:
运行软件
不需要知道如何得到结果的;
不可以看代码,但可以问程序员数字限制,内部事件
Test-to-pass:
通过性测试,关注最小能够完成的功能,不测性能,按正常情况,不测边界值
Test-to-failorerror-forcing:
失效性测试,目的是想破坏它,选择软件的弱点
在失效性测试前使用通过性测试暴露bugs
定义等价类(自反、传递、对称):
帮助我们把测试用例进行划分而不会带来高风险。
数据、逻辑流
数据测试:
定义边界条件---数据;
分成三类:
有效值、边界值、无效值;
边界条件在需求或规格说明里定义好
等价类划分:
把所有的输入分成一系列等价类(互不相交,但∪是整个全集),减少测试用例个数
分为:
有效等价类、无效等价类
有限个数的输入等价类:
行为类似的放入同一个类里;
每个类只要测是个代表;
如果在一个等价类里发现缺陷,那这个等价类里的其他也会有缺陷。
每个类定义一个/多个测试用例:
覆盖有效类的测试用例;
覆盖最多一个无效类的测试用例
Eg.If
input
5‐digit
integer
between
10,000
99,999,Equivalence
partitions
are:
<
10,000‐99,999
>
99,999
1.如果输入是一个范围或一个特定的值,一个有效等价类,两个无效等价类
2.如果输入是一系列有关系的值的集合或一个布尔值,一个有效类,一个无效类
Further分类可能:
检查默认值、空值、零值;
检查无效值、错误值
黑盒测试----边界值分析(BVA):
基于定义、产生探索边界条件的测试用例的技术;
边界条件是很多错误的源头
对输入输出的边界都要考虑;
白盒测试应用也要测边界
每个等价类中选择一个/多个随意值;
选择等价类里准确的(上、下)边界;
选择趋于但不等于边界值的值
Eg.–classes
x
0,
=
boundary
:
x
–classes
below
above:
‐1,
1
Test
function
which
limit
user
6‐digit
positive
integer
–Test
cases
Class
arbitrary
value:
X1
123123
X2
12345;
X3
1234567;
X4
1;
X5
invalid
X6
‐123123;
X7
asdasd;
X8
000123;
X9
asd123;
X10
Empty
可能的边界条件:
输入输出:
大小、类型;
寻找限制:
First‐1/Last+1;
Start‐1/Finish+1;
Min‐1/max+1;
Less
than
empty/
full;
Just
Over/Just
Under
ASCII
Encoding
Always
Produce
Sub‐Boundary
Conditions
•The
code
8
bits
–If
numeric
digits
are
input,
check
out
range
‘/’and
‘:
’
capital
letters
‘@’and
‘[’
lower
case
forward
quote(‘`’)
‘{’
因果关系:
因/果:
一个输入/输出条件或一个等价类输入/输出条件;
因果用布尔值表示,之间的关系可以用布尔图表示
黑盒技术分析输入条件的组合
case矩阵
定义规格说明中的因(输入当前状态)和果(输出新的状态)
布尔图连接因果
去掉不可能的因果组合
开发决策表,从图中每一列输入和输出的组合
因果分析过程步骤:
列出并标记因和果
画一个因果图描述原因、中等原因和结果影响的逻辑组合
看图开发决策表(因VS果)
把每一行转变成一个测试用例,或把多行转变成一个测试场景
错误猜测:
测试员利用直觉和经验去定义潜在的错误并设计测试用例来揭发它们
开发者可能做的合理但不正确的假设;
特殊状态;
不期望的、不正常的程序应用环境
常见的条件:
重复实例;
空白或字符串空值;
负值;
数字填空里没有数字值;
输入太长或太短
只是猜想,为可能的错误或错误状态列清单;
基于清单写测试用例
更老练的错误猜测:
风险分析高风险的代码更要被彻底的测试
黑盒测试技术:
等价类划分、边界值分析、因果图、错误猜测。
。
没有一个是完整的;
它们是互补的
状态测试:
所有软件都送一个状态转换到另一个状态;
对于有些软件,状态转换是明显的;
为了决定状态,需要建立状态转换图STM
STM显示从一个状态到另一个状态的逻辑流;
定义状态和转换(从一个状态到另一状态的触发)
通过性测试:
分类的可能选择:
每个状态至少访问一次;
测试最常见的状态-状态的转换;
测试状态间最不常见的路径;
测试错误状态的所有进口和出口;
检查所有定义状态的状态变量
和规格说明的书写者和程序员定义可能的状态
,但是DO
NOT
GO
TO
THE
CODE
LEVEL!
失败性测试:
竞态条件下
repetition(发现内存泄露)&
stress(badconditions,内存少、CPU慢)&
负载测试(大数据文件、长时间运行)
Exercise:
If
youare
program’s
ability
printers,
generic
test-to
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 软件 测试 复习资料