软件测试复习资料.docx
- 文档编号:7080814
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:12
- 大小:361.79KB
软件测试复习资料.docx
《软件测试复习资料.docx》由会员分享,可在线阅读,更多相关《软件测试复习资料.docx(12页珍藏版)》请在冰豆网上搜索。
软件测试复习资料
什么是软件测试?
软件测试复习资料
定义软件测试:
使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是
弄清预期结果与实际结果之间的差别。
软件开发初期:
调试性测试,为了证明系统可以运行
1950~1960:
高级语言刚诞生,测试理论和方法发展缓慢
1970年以后:
软件行业迅速发展,测试理论和方法形成一套体系
软件测试过程
单元测试——目的:
检测程序模块中有无故障存在对象:
软件设计的最小单位,与程序设计和编程实现关系密切
集成测试——目的:
发现与接口有关的模块之间的问题方法:
非增式集成测试法和增式集成测试法
确认测试——目的:
对软件产品进行评估以确定其是否满足软件需求的过程
系统测试——目的:
针对系统中各个组成部分进行的综合性检验,证明系统的性能
测试人员要求:
系统开发人员不能进行系统测试。
统开发组织不能负责系统测试。
验收测试——目的:
向用户表明所开发的软件系统能够像用户所预定的那样工作
主要任务:
明确规定验收测试通过的标准;确定验收测试方法;确定验收测试的组织和可利用的资源;
确定测试结果的分析方法;制定验收测试计划并进行评审;设计验收测试的测试用例;审查验收测试的准备工作;执
行验收测试;分析测试结果,决定是否通过验收。
测试环境=硬件+软件+网络+数据准备+测试工具
网络环境:
C/S结构还是B/S结构?
网络环境、网速、网络供应商等。
数据准备:
测试数据的准备。
应考虑数据量和真实性,包括正确和错误的数据。
测试工具:
根据测试需求和实际条件来选择。
搭建软件测试环境还应注意以下几点:
尽量模拟用户的真实使用环境;测试环境中尽量不要安装其它与被测软件无关
的软件,但最好安装杀毒软件,以确保系统没有病毒;测试环境应与开发环境独立。
软件缺陷定义——至少满足下列5个规则之一:
1、软件未实现产品说明书要求的功能;
2、软件出现了产品说明书指明不应该出现的错误;
3、软件实现了产品说明书未提到的功能;
4、软件未实现产品说明书虽未明确提及但应该实现的目标;
5、软件难以理解、不易使用、运行缓慢或者-从测试员的角度看-最终用户会认为不好。
软件测试中的误区
软件开发完成后进行软件测试;测试和调试是一样的;测试组应当为保证质量负责;过分依赖Beta测试;把不合格的
开发人员安排做测试;测试跟着开发动,有时间就多测,没时间就少测;好的测试一定要使用很多的测试工具
软件测试的分类:
按方法分;按技术分;按级别分;按类型分
测试的原则
完全测试程序是不可能的:
1、不可能测试程序对所有可能输入的响应;2、不可能测试到程序每一条可能的执行路径;
3、无法找出所有的设计错误;4、不能采用逻辑来证明程序的正确性
避免测试自己的程序:
1、程序员轻易不会承认自己写的程序有错误;2、程序员的测试思路有局限性,在做测试时很
容易受到编程思路的影响;3、多数程序员没有严格正规的职业训练,缺乏专业测试人员的意识;4、程序员没有养成
错误跟踪和回归测试的习惯
找到的软件缺陷越多,就说明软件缺陷越多--俗称软件缺陷的“扎堆”现象
软件测试越多,对测试的免疫力越强--杀虫剂怪事
并非所有的软件缺陷都要修复
每次测试的预期结果应当整理归档
--理想
--原则
能找出其余Bug中的80%,最后的5%的Bug可能只有在用户的大范围、长时间使用后才会暴露出来;一般情况下,
80%的缺陷聚集在20%的关键核心业务模块中。
优秀的软件测试员应具备的素质
基本素质:
沟通能力、自信心、幽默感、记忆力<挖掘以往错误>、耐心、怀疑精神、自我督促、洞察力<发现重点>;
广泛的经验;表达能力、问题描述能力;会提问,会寻求Help;逻辑思维能力;团队协作能力;处理日常事务的能力
和处理突然事件的能力
专业素质:
对于系统测试,把握需求是第一位的;测试基础:
明确测试流程中各个阶段的工作;测试方案的分析设计
能力、测试案例的设计能力;测试工具的使用;编程能力,数据库知识,网络知识,操作系统知识;团队协作能力,
与各小组之间的沟通能力;测试管理。
判断题
1、软件测试一定可以找出程序中所有的错误×
2、找到的软件缺陷越多,就说明软件缺陷越多√
3、某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:
①经过自己测试的软件今后不会再出现问题×
②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不
利于团结×
③承诺不需要其他人员,自己就可以独立进行测试工作×
④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休×
黑盒测试
测试者关心的是“做了什么”而非“怎样做”。
从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误
从功能的角度来定义和考察。
有效和无效输入都要用于测试系统。
考虑数值的每一种可能类型考虑范围边界的内侧
和外侧。
考虑预想的输入和输出值
黑盒测试适用的几个阶段:
单元测试;集成测试;功能测试;系统测试;Alpha/Beta测试;验收测试。
黑盒测试应用范围:
没有用户参与的黑盒测试;有用户介入的黑盒测试。
等价类划分
等价类:
把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集。
思想:
无限à有限
等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试。
有效等价类--检验程序是否实现了预期的功能和性能;无效等价类--检验程序对于无效数据的处理
划分等价类的方法
常用的等价类划分原则:
(1)按区间划分
(2)按数值划分(3)按数值集合划分(4)按限制条件或规则划分(5)细
分等价类
因果图定义:
是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的
各种组合情况。
四种因果关系
因果图的约束
约束:
输入状态相互之间还可能存在某些依赖关系。
输入条件的约束有以下4444类:
②I约束(或):
a、b和c中至少有一个必须是1,即a、b和c不能同时为0。
③O约束(唯一):
a和b必须有一个,且仅有1个为1。
④R约束(要求):
a是1时,b必须是1,即不可能a是1时b是0。
输出条件约束类型:
输出条件的约束只有M约束(强制):
若结果a是1,则结果b强制为0
因果图的约束符号
用因果图法设计测试用例的步骤①把程序的规格划分解成可以工作的片段;②确定规格中的原因和结果;③分析规
格以确定原因与结果之间的逻辑关系,并且使用因果图表示出来;④确定句法或环境的约束,这些约束使得某些组合
不可能产生,在因果图上用一些记号表明约束或限制条件;⑤把因果图转换为判定表;⑥把判定表的每一列拿出来作
为依据,设计测试用例。
错误推测
错误推测法:
根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。
基本思路:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
决策表的建立步骤
(1)确定规则的个数。
例如有n个条件,每个条件有两个取值(0,1),故有2n种规则。
(2)列出所有的条件桩和动作桩;
(3)填入条件项;
(4)填入动作项,制定初始决策表;
(5)简化;合并相似规则或者相同动作。
决策表的优点和缺点
优点:
它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
缺点:
不能表达重复执行的动作,例如循环结构。
语句覆盖
优点:
直观、简单、易自动化
缺点:
发现错误能力很“弱”对隐藏的条件和可能到达的隐式逻辑分支,无法测试
判定覆盖
优点:
发现错误能力比语句覆盖强
缺点:
对复合条件判断,只判定整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。
判定条件覆盖
优点:
发现错误能力比判定覆盖和条件覆盖强
缺点:
不能保证覆盖程序所有执行路径
路径覆盖
优点:
发现错误能力强,覆盖面最广
缺点:
不包含判定条件覆盖100%路径覆盖是不可行的,自动化路径覆盖困难
条件覆盖
优点:
发现错误能力比语句覆盖强
缺点:
条件覆盖并不能保证判定覆盖。
对复合条件,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判
定结果。
什么是集成测试:
也叫做组装测试、联合测试、子系统测试和部件测试。
是在单元测试的基础上,将所有模块按照概
要设计要求组装成为子系统或系统,进行集成测试。
单元测试、集成测试与系统测试的差别
集成测试策略
1)非增量方式:
先测试好每一个软件单元,然后一次组装在一起再测试整个程序。
2)增量方式:
逐步把下一个要被组装的软件单元或部件,同已测好的软件部件结合起来测试。
增量方式主要包括自顶向下、自底向上、自顶向下与自底向上相结合等方法。
自顶向下方法(BotBotBBoottttttoooommmm----UUpUpUpp)
集成的方式有两种:
深度优先组装法;广度优先组装法。
深度优先组装方式
“三明治”方法(SSSSaaaannnnddddwiwiwiwicccchhhh)
广度优先组装方式
混合式集成把系统划分成三层,中间一层为目标层,目标层之上采用自顶向下集成,之下采用自底向上集成
对图5-9所示的程序进行自顶向下的集成测试,试给出测试过程。
对图5-9所示的程序进行自底向上的集成测试,试给出测试过程。
对图5-9所示的程序进行三明治集成测试,试给出测试过程。
图5-9程序结构图
压力测试StressTesting)是指模拟巨大的工作负荷,以查看系统在峰值使用情况下是否可以正常运行。
压力测试方法具有如下特点:
(1)压力测试是检查系统处于压力情况下的能力表现。
(2)压力测试一般通过模拟方法
进行。
(3)压力测试一般用于测试系统的稳定性。
压力测试与性能测试的联系与区别:
压力测试是用来保证产品发布后系统能否满足用户需求,关注的重点是系统整体;
性能测试可以发生在各个测试阶段,即使是在单元层,一个单独模块的性能也可以进行评估。
压力测试是通过确定一个系统的瓶颈,来获得系统能提供的最大服务级别的测试。
性能测试是检测系统在一定负荷下的表现,是正常能力的表现;而压力测试是极端情况下的系统能力的表现。
压力测试方法
压力测试中应该模拟真实的运行环境。
(1)重复(Repetition)测试:
重复测试就是一遍又一遍地执行某个操作或功能,比如重复调用一个Web服务。
(2)并发(Concurrency)测试:
并发是同时执行多个操作的行为,即在同一时间执行多个测试线程。
例如,在同一个
服务器上同时调用许多Web服务。
(3)量级(Magnitude)增加:
压力测试可以重复执行一个操作,但是操作自身也要尽量给产品增加负担。
例如一个
Web服务允许客户机输入一条消息,测试人员可以通过模拟输入超长消息来使操作进行高强度的使用,即增加这个操
作的量级。
(4)随机变化:
该手段是指对上述测试手段进行随机组合,以便获得最佳的测试效果。
压力测试用例选取可以从以下
几个方面考虑:
输入待处理事务来检查是否有足够的磁盘空间;创造极端的网络负载;制造系统溢出条件;
健壮性测试(RobustnessTesting)主要用于测试系统抵御错误的能力。
健壮性的两层含义:
一是高可靠性,二是从错误中恢复的能力。
兼容性测试:
检查软件是否能够与其他软件正确协作
彦笔试)
向后兼容:
指可以使用软件的以前版本。
向前兼容:
指可以使用软件的未来版本。
配置测试(ConfigurationTesting)是验证系统在不同的系统配置下能否正确工作,这些配置包括:
软件,硬件,网络等。
软件文档的分类
用户文档:
用户手册,操作手册,维护修改建议
开发文档:
软件需求说明书,数据库设计说明书,概要设计说明书,详细设计说明书,可行性研究报告
管理文档:
项目开发计划,测试计划,测试报告,开发进度月报。
开发总结报告
用户界面测试(UIUIUUII)
用户界面测试可分为整体界面测试和界面中的元素测试。
界面整体测试是指对界面的规范性,一致性,合理性等进行测试和评估。
界面中的元素主要包括窗口,菜单,图标,文字,鼠标等。
优秀UUUIUIII具备的七个要素:
(1111)符合标准和规范(2222)直观(3333)一致(4444)灵活(5555)舒适(6666)正确(7777)实用
外国语言测试的三个层面:
G11N:
Globalization软件全球化I18N:
Internationalization国际化L10N:
Localization本
地化本地化(localization):
使软件适应语言、方言、地区习俗和文化的过程。
本地化的问题1、文字内容2.数据格式
翻译的问题:
1.文本扩展(textexpansion)2.ASCII,DBCSandUnicode3.热键和快捷方式(HotKeysandShortcuts)4.扩展字
符(ExtendedCharacters)5.字符的计算(ComputationsonCharacters)6.从左到右和从右到左的阅读7.图形里面的问题(Text
inGraphics)8.文字和代码分离
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 复习资料