第一篇:软件测试做事方法总结
做事方法
中医讲究望闻问切,我觉得我们做事的方式方法也可以按照这四点进行归纳。
望(细心观察、多留心)
1、看现象,特别是偶然问题,细心观察,留意步骤
a.对测试过程中只出现过一次的异常现象,可以先记录下来,或者与研发沟通,宁可错杀不可放过。b.对bug保持敏感度,相信自己的眼睛,针对偶然现象反复推敲,从自己的网络环境,拓扑结构入手,尝试复现。
c.低概率问题难以复现,需要先搭好抓包环境,遇到问题保存log,并记住时间点。
2、看用例,认真阅读,细心执行
a.测试过程用例在不断完善,执行用例要到位,认真阅读用例的预置条件、测试步骤、预期结果,有疑问要及时提出,用例结果要备注。b.执行用例的步骤不能遗落,结果要每条都对应。
c.预期结果不符要同需求、软件一起确认,并将结果告知三方。有变更时需要同步修改用例,并将bug提至mantis,评审bug时需要关注。
3、看mantis,经常查看mantis上bug状态
a.看自己的bug,对开发人员的备注多关注。研发人员备注的bug原因自己要搞懂。不清楚的一定要问。对概率问题研发备注未重现的,要问清楚log分析结果,是否需要协助重现等。
a.看别人提交的bug,一是避免bug重复提交,二是可以学习和思考,为什么别人可以发现这个bug,我没发现;或者我是不是也遇到同样问题,但是忽略了等等。b.评审过后的bug备注认真看。评审后的bug会备注一些专业意见可以学习,评审后的bug也会备注一些需要测试后续进行的工作要关注并执行。
4、看版本发布记录
a.版本发布后详细阅读版本发布记录,确认修改的每个点是否同计划一一对应,同研发确认是否修改点都一一列出。未列出的点会带来哪些影响。b.版本修改点影响范围是否列出,需重点测试模块是否有写明。
闻(认真倾听,反复思考)
1、听信息
a.项目前期反复讨论需求、方案时,是不是所有信息有掌握了,通过反复思考提出自己的意见或建议。
b.需求有变更时,要详细的了解清楚变更点。
c.认真倾听测试代表的版本计划,版本范围及版本测试中应重点关注的地方。
2、听经验
a.对自己不清楚的问题,认真听别人的分析讲解,从而思考从这个点拓展到面。b.Bug评审时认真听每个bug的分析情况,进而思考自己遇到这个问题如何处理,反思自己的测试方法。
c.听听别人同研发人员如何沟通,学学沟通方式和技巧,沟通的过程我要了解哪些信息,掌握哪些关键点和关键路径。
d.分享时听其他人的经验,进行借鉴。
问(不懂就问、不耻下问)
1、问bug a.遇到无法判断是不是bug的问题,问有经验的同事,问测试代表,问测试经理。b.遇到偶然问题,先问问其他同事是否也有遇到,可以一起思考一起找茬,尽快突破。c.同研发意见不一致时及时反馈测试代表,协商解决。
d.对研发备注的原因,大胆提出质疑,多问几个为什么,多对比,了解来龙去脉,不要被研发带偏。
e.Bug评审时需要测试人员跟踪压力的bug要多问,问问是否有可复现的路径,研发是否可以协助。
2、问方法
a.对自己无法解决的或者要花很长时间消化的,要多问,多学习,可以提高效率,避免不必要的时间浪费。
b.对自己不熟悉的模块,要多问经验丰富的同事,借鉴好的测试方法。
c.对流程不熟悉的,多问问研发人员,详细的了解流程,才能制定对应的测试方案。
切(找出问题、对症下药)
1、多看多听多问,相信大部分问题都能准确定位。针对少数不能定位的问题,bug评审给出结果,需要压力的进行压力,需要观察的进行观察。可以同研发人员一同协商制定方法。
2、已解决的问题也要多思考,解决这个问题是否会影响到其他模块,验证时要考虑全面。
3、遇到问题及时反馈,沟通反馈及时才能更好的解决问题。
第二篇:软件测试方法总结
软件测试方法总结
(一)发布时间: 2008-12-12 17:07作者: lxm_lxm来源: 51Testing论坛
软件测试方法的总结,是lxm_lxm根据个人所做过的项目整理的,提供给新来的的朋友们。软件测试方法总结
一、界面
● 界面测试
(1)测试界面设计是否合理、简洁、美观,操作是否方便
(2)功能键、数据项信息是否齐全
(3)确认系统中同一功能抌名称是否统一
(4)设计样式、风格(查询条件样式;输入风格(点选/手输入);)是否与系统其它模块统一
(5)确认页面内所有字段名称显示风格是否统一(居中、左对齐、右对齐,一般采用居中显示风格)
1、新增页面及功能测试
● 字段
在开始测试时应该保证数据的正确性,然后再从系统中找出各种Bug
(1)各字段输入正确的信息值保存,确认系统是否可以正确完成新增操作。
(2)进入添加界面不输入任何信息值,单击“保存”功能按钮,系统应该给出某个不允许为空字段的提示信息(属于边界测试)
(3)建议不允许为空的字段前面加上„*‟作为标记(统一性,方便性问题)
(4)编码/编号字段不允许输入中文及特殊字符,否则系统应该给出相应的提示信息
(5)测试编码/编号字段不允许重复,否则系统应该给出相应的提示信息
(6)确认字段是否已做长度限制,如果输入值超出长度范围,那么在保存时系统应该给出提示信息
(7)非法测试,如:校验数值型字段输入非数值,保存时系统是否给出相应的提示信息(根据实际需要确定数值型字段是否能够接受负数)
(8)边界测试,如:确认数值型字段的边界值(如:有效值为„0-100‟整数,那么输入-1或101保存时系统应该给出相应的提示信息;输入值为0、100系统应该能正确保存信息值;输入0到100内的整数值系统应该正确保存信息值)
(9)精确值测试,测试小数位数是否在定义的长度内
(10)字段精确值是否正确(四舍五入否)。
(11)根据实际情况测试名称字段是否具有唯一性,(一般情况下名称是不允许重复的,具体问题具体分析),否则系统应该给出相应的提示信息
(12)确认各字段名称书写是否正确(注意:要求编辑界面、住息列表中、错误提示信息、查询条件中的字段名称完全相同)
(13)确认特殊格式的字段是否已做标准格式的限制(如:电子邮件、邮编等)
(14)测试上级信息字段(如:上级XXX名称、上级XXX编号)的信息值是否根据所选择的上级XXX名称系统自动生成(注意:编号生成值一定是维护界面的编号,而不应该是相应表的那个主键编码)
(15)测试如果某字段信息值是从另一个模块中选择输入的,那么需要确认其它相关联字段的信息值是否也相应的正确的自动带入,并且这些字段应该都是只读的(16)创建人/编辑人、发布人、创建时间、创建人字段应该设为只读的,而且此类字段值应该默认当前操作人的姓名
(17)如果某个字段可以点选输入多个信息值,那么测试该字段是否接受,并保存了点选输入的多个信息值
(18)对于多选字段,测试是否具有记忆上次选择值并已验重
(19)测试字符型字段是否可以接受空格(统一性问题,建议不要接受空格)
(20)引用其它模块的字段信息值的字段长度是否与被引用模块相应字段长度一致
软件测试方法总结
(二)发布时间: 2008-12-12 17:13作者: lxm_lxm来源: 51Testing论坛
关键字:软件测试方法
6、常用功能键的功能测试
(1)保存---所有编辑页面如果未输入任何信息值而单击“保存”,系统应该给出“XXX字段不允许为空”的提示信息
(2)保存---如果某字段输入值有错误或超出长度范围,那么单击“保存”按钮时,系统应该给出相应的提示信息
(3)保存---输入相关信息单击“保存”后,建议系统给出“保存成功”提示信息
(4)保存---测试新增/修改信息保存后,信息列表是否自动刷新
(5)下一步---单击此按钮,如果有非空字段为空,系统应该给出相应提示信息;如果有字段输入非法值,单击此按钮系统应该给出相应提示信息;正常情况下单击此功能按钮,系统进入到下一个编辑/操作界面
(6)上一步---单击此功能按钮,系统应该正确返回到上一个编辑/操作界面
(7)浏览---测试该功能键功能是否已经正确实现,单击此按钮系统应该弹出文件选择页面,并且可以选择输入相关附件
(8)上传附件---测试上传功能已经正确实现,确认上传的附件在界面相应位置是否显示
(9)下载---测试下载功能已经正确实现(可以将上传到服务器的附件下载的本地相应位置)
(10)重新上传---保存操作后上传功能按钮名称应该自动变为“重新上传”,并且可以重新上传附件
(11)发布---测试该功能键功能已经正确实现,单击些功能按钮系统完成发布操作,相应的信息状态变为“已发布”,发布人、发布时间系统自动生成或已经正确保存(注意:已经发布的信息是不允许再进行修改操作的)(根据系统需求及设计测试,有些系统只有信息修改页面才有此功能)
(12)取消发布---测试该功能键功能是否已经正确实现,单击此功能按钮系统完成取消发布功能,相应信息状态变为“未发布”(根据系统需求及设计测试,有些系统只有信息修改页面才有此功能)
(13)关闭---单击此功能按钮系统将关闭当前页面,建议当单击此功能按钮时系统弹出“确认离开此页面提示信息”
(14)查询---单击查询功能按钮,系统按钮输入查询条件进行模糊查询;查询条件输入非法值进行查询操作,系统应该查询0记录
(15)删除----未勾选待删除记录单击此按钮系统弹出相应提示信息;正常情况下系统删除所选记录
(16)选择---勾选待选记录,单击此按钮系统完成选择操作;单击选择超链接功能按钮系统完成选择操作
(17)取消选择---单击此功能按钮,系统完成取消选择操作(清除所有选择信息)
软件测试方法总结
(三)发布时间: 2008-12-12 17:14作者: lxm_lxm来源: 51Testing论坛
关键字:软件测试方法
11、对用户名、密码的有效性测试
(1)密码信息有效性测试:特殊字符、正常字符、空字符(不输入)、空格
(2)登陆名是否区分大小写
(3)登陆名是否允许重名
(4)用户名字和密码都为最大长度(边界值分析,取上点)
(5)用户名字和密码都为最小长度(边界值分析,取上点)
(6)用户名字和密码都是非最大和最小长度的数据(边界值分析,取内点)
(7)用户名长度大于要求1位(边界值分析,取离点)
(8)用户名长度小于要求1位(边界值分析,取离点)
(9)密码长度大于要求1位(边界值分析,取离点)
(10)密码长度小于要求1位(边界值分析,取离点)
(11)是否记住上次登陆名
(12)密码信息有效性测试:字母数字混排、数字、符号数字、字母符号、数字符号、空字符(不输入)、空格、ASCII字符、字符串在有空格、串在有半角空格
(13)口令锁定:即输入口令次数的限制
(14)密码显示是否以星号或者别的符号显示
(15)看是否支持tap和enter键等
(16)密码是否可以复制粘贴
密码修改测试方法
(1)不输入旧密码,直接改密码
(2)输入错误旧密码
(3)不输入确认新密码
(4)不输入新密码
(5)新密码和确认新密码不一致
(6)新密码中有空格
(7)新密码长度有效性测试方法同上
(8)新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等)
(9)测试密码是否区分大小写,新密码中英文小写,确认密码中英文大写
(10)新密码与旧密码一样能否修改成功
软件测试方法总结
(四)发布时间: 2008-12-12 17:17作者: lxm_lxm来源: 51Testing论坛
关键字:软件测试方法
四、权限测试
1、业务权限
按需求测试用户业务权限分配是否正确,业务权限主要控制功能模块、功能菜单的展示,没有相应业务权限的不展示其功能模块能功能菜单。
2、操作权限
(1)权限组:按组用户来分配操作权限。(组内所有人员都具有所分配的操作权限)
(2)测试已分配操作权限的功能按钮是可见的(3)测试已分配操作权限的功能按钮是否可用;是否可以正确完成相应功能操作
(4)通常不分配调看操作权限是无法进行修改操作
五、算法
1、测试前需要充分了解算法的整个计算过程及结果值的精度
2、算法测试之前需要准备充足,而且是准确无误的测试实例
3、根据输入值确认系统计算输出结果是否与预期结果完全一致
4、如果计算公式中含有引用其它模块的数据,需要先确认数据提取是否对应的正确
5、先用等价划分法、边界值测试方法测试输入数据是否在需求范围内
6、严格按照测试用例执行测试,确认计算结果是否正确无误,注意结果的精度。
第三篇:软件测试方法总结1
一.软件测试方法的总结 :
软件的测试分类:
从是否关心软件内部结构和具体实现的角度划分
A.白盒测试
B.黑盒测试
C.灰盒测试
从是否执行程序的角度
A.静态测试
B.动态测试
从软件开发的过程按阶段划分有
A.单元测试
B.集成测试
C.确认测试
D.系统测试
E.验收测试
*白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
*
*灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
* 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
* 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
* 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
* 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
* 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
二.软件测试的流程:
分为五步
第一根据需求分析制定测试计划
第二根据开发人员的详细设计说明书设计测试策略和测试用例
第三开发人员编写好一个小的模块后我们就可以执行测试用例。同时填写缺陷报告第四对测试作总结
第五验收测试,同时编写用户手册
三.
第四篇:软件测试总结
1.软件测试定义:由人工或自动方法来执行或评价系统或系统部分的过程,以验证它是否满足规定的需求,或识别出期望的结果和实际结果之间的差异。2.软件测试的分类:
测试对象或范围分类:需求评审、设计评审、单元测试、程序测试、系统
测试、文档测试、Web应用测试、客户端测试、数据库测试等;
测试目的分类:集成测试、功能测试、压力测试、性能测试等等; 静态测试、动态测试; 白盒测试、黑盒测试。3.软件测试的基本流程与原则
基本流程:
测试用例设计-输入数据、预期结果; 测试执行-输入数据执行被测对象; 检查实际输出与预期结果。基本原则:
开始测试时认定软件有错,测试要证明有错; 测试应该由独立的测试团队来完成; 测试设计必须设计对应的预期输出;
要对合理、不合理(有效、无效)输入数据都进行测试; 检查软件的完备性、多余; 完整保留测试文档;
一个被测对象中有错误的概率与已发现错误的个数成正比。4.Beizer测试成熟度级别:
0级:没有区分测试与调试;
1级:测试的目的是证明软件能用; 2级:测试的目的是证明软件不能用;
3级:测试的目的不是为了证明什么,而是为了降低软件使用风险; 4级:测试是一种智能训练,能够帮助专业人员开发出更高质量的软件。5.软件测试与软件工程,软件过程的关系:
软件工程:在给定的条件下(成本、时间)开发出高质量的软件产品。软件生产过程的特性决定了软件产品中不可避免包含有错误。软件测试则是尽可能多地发现错误,从而保障软件产品的质量。6.McCall的质量因素:
产品修改:
可维护性,灵活性,可测试性 产品转移:
可移植性,可复用性,互操作性 产品运行:
正确性,易用性,可靠性,效率,完整性 7.软件质量困境
软件质量必须足够好:存在价值
软件产品无法完美:需要消耗过多的资源、时间、成本
软件开发需要在两个极端之间进行平衡:软件足够好的同时又不完美。8.质量控制、质量保证和质量管理
软件质量控制其实是基本方法,通过一系列的技术来科学地测量过程的状态。如缺陷率、测试覆盖率等。
软件质量保证则是过程的参考、指南的集合,如ISO9000、CMM/CMMI等,着重内部的检查,确保已获取认可的标准和步骤都已经遵循。
软件质量管理则是实际操作的思想,质量管理控制和协调组织的质量活动,包括质量控制、质量保证和质量改进。9.WebApp应用的属性:
网络密集型应用;并发性;大负载量;性能;高可靠性、高可用性;安全性-内容敏感;
10.软件评审的目的,评审度量及其应用
评审的目标在于:尽早发现软件过程中的错误,防止错误传递、蔓延至后续活动,防止错误转化为缺陷。
准备工作量Ep-实际评审会之前所需工作量; 评估工作量Ea-实际评审所花费的工作量 返工工作量Er-修改评审所发现错误的工作量 工作产品规模WPS-评审对象的规模
发现的主要错误数Errmajor-多于预期的改错工作量的错误数目 发现的次要错误数Errminor-少于预期的改错工作量的错误数目 总评审工作量Ereview = Ep+Ea+Er 错误总数Errtot = Errmajor+Errminor 错误密度:评审的每单位工作产品发现的错误数Ed = Errtot / WPS 错误密度数值的含义:较小(产品质量非常好或评审不够彻底);较大(产品质量存在缺陷)
11.软件测试计划:描述对计算机软件配置项、子系统、系统进行测试的计划安排,内容包括测试的环境、测试工作的标识及测试工作的时间安排。
软件测试报告:是对计算机软件配置项、软件系统或子系统,或与软件相关项目执行合格性测试的记录 12.软件测试活动
制订测试计划(测试分析员)
测试设计(测试设计人员)-方案设计 测试及测试用例设计 测试过程
桩模块、驱动模块设计
测试实施(测试设计员)-实现测试设计 单元测试(测试员)集成测试(测试员)系统测试(测试员)
评估测试(测试设计人员)
13.无向图的相关定义:
连接性:节点ni、nj是连接的,当且仅当ni、nj在同一条路径上。组件:图的组件是相连节点的最大集合
图G的圈复杂度V(G)=e-n+2p,其中e为G的边数,n为节点数,p为组件数。14.图覆盖:给定一个关于图G的准则C的测试需求集合TR,测试集合T在图G上满足准则C当且仅当对TR中每个测试需求tr,path(T)中至少存在一条测试路径p满足tr。
简单路径:如果从ni到nj的一条路径中,除了始节点和终节点可以相同外,没有任何节点出现次数多于一次,则该路径为简单路径。
主路径:如果从ni到nj是一条简单路径,并且它不作为任何其他简单路径的子路径出现,则称之为主路径。
主路径覆盖(PPC)准则:TR包含图中每一条主路径。
指定路径覆盖(SPC):TR包含一个测试路径集S,S为指定参数。15.白盒测试方法
白盒测试:根据被测对象的内部结构和运行机制来设计测试用例的方法,又称为结构测试、逻辑驱动测试、覆盖测试
被测对象的独立路径至少覆盖一次; 所有逻辑取值测试[真、假]; 循环边界测试;
检查内部数据结构、边界条件。16.黑盒测试方法
黑盒测试方法又称功能测试方法、数据驱动测试方法,测试设计时不考虑被测对象的内部结构,以检查系统功能(功能的正确、完整、逻辑流程、人机界面、文档内容、系统安装/初始化)
以被测对象的外部特征为测试依据。17.模糊测试方法
模糊测试方法:构造大量的随机数据作为系统的输入,从而检验系统在各种数据情况下是否出现问题。
18.增量测试:单元测试、调用依赖的模块集成测试,逐步扩展直到形成整个软件系统。
19.突击测试:所有模块一次性集成为一个完整的系统,然后进行完全测试。20.等价类划分:
等价类划分基于对输入或输出数据情况的评估,划分成两个或多个子集(等价类),然后从每个子集中选取一定的代表进行测试的测试用例设计方法。21.极限测试
极限编程:利用轻量、敏捷的开发过程,使开发人员能够更快地完成应用程序的开发。强调频繁测试、测试驱动的方式保证软件质量。
极限测试:为满足极限编程思想和过程而设计的一套测试策略和流程,原来的测试技术、方法均可以使用 22.配置项测试的内容
功能: 适合性
准确性:功能的准确与精度要求 互操作性:与外部设备、系统的接口 安全保密性:数据访问的可控制性 可靠性: 成熟性:容错处理、平均无故障时间
容错性:边界条件、功能、性能的降级情况、误操作模式、故障模式 易恢复性:自动修复能力/时间、平均宕机时间、平均恢复时间、恢复能力等 易用性
易理解性:功能描述清晰、准确;界面含义精确
易学性:在线帮助、帮助定位、各类手册的易学、易用 易操作性:数据的有效检查、解释信息明确、界面切换 吸引性:人机界面定制 效率
时间特性:响应时间、平均响应时间、响应极限时间、吞吐量、平均吞吐量、极限吞吐量,多任务并行测试
资源利用:大量并发任务下I/O设备利用、极限负载下I/O设备的负载、大量并发任务下用户等待时间、内存使用情况、数据传输能力等
维护性
易分析性:运行状态数据易分析 易变更性:软件的可配置、修改能力 易测试性:变更之后的易测试情况 可移植性
适应性:不同软件、硬件环境的适应能力 易安装性:安装、配置的复杂程度、难以程度 共存性:与其他软件协同的能力 易替换性:版本的替换难以程度 依从性
以上所有特性遵循标准、规范的情况测试
23系统测试:系统非功能性测试,以检验系统在超常数据规模或负载下,线程、CPU、内存资源的利用和响应时间、数据传输等性能指标是否满足要求
24.测试计划
确定测试充分性要求:覆盖范围、覆盖程度 确定测试终止要求; 确定测试所需资源; 确定测试的软件特性; 确定测试技术、方法; 确定测试准出条件; 确定测试进度计划; 测试风险分析。
25.测试设计:测试设计人员、测试程序员
测试用例设计:依据测试特性; 获取测试数据;
确定测试顺序:资源、被测特性; 获取测试资源:软硬件、工具; 编写测试程序; 建立测试环境; 撰写测试设计说明。
26.测试总结:
测试分析员-测试报告
总结测试计划、测试说明的变化情况; 异常终止时测试未覆盖范围; 未能解决的测试问题; 总结测试结果(发现问题); 编写测试报告;
根据问题报告、测试记录,编写测试问题报告。
27.软件可靠性:在给定的运行时间内和给定的系统配置环境下,运行给定的软件功能时所 表现出来的质量能力 28.系统性能指标
系统资源利用率:分析性能指标,改善性能系统行为指标 请求响应时间:一次请求完成时间
事务响应时间:一个事务所有请求完成的总时间
数据吞吐量:单位时间内服务器接收、发送的数据量。
29.验收测试:用户执行的、使用真实数据进行的测试,依据需求规格中的确认标准进行测试。回归测试:验证已测试过的内容不受变更影响,确认变更没有引入新的错误。
30.α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操 作环境下进行的测试。
Beta测试由软件的最终用户在一个或多个客户场所进行,开发者通常不在Beta测试的现场。
31.WebApp测试关注的主要内容 Web内容测试 界面 构件
导航测试 安全性 性能
32.测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
33.软件生存期定义:从软件产品设计到软件被淘汰的时间段。又称软件生命周期、生存周期。进一步划分为两个阶段:开发阶段和维护阶段(40%+60%)。
34.软件安全定义:一种软件质量保证活动,他主要用来识别和评估可能对软件产生负面影响并促使整个系统失效的潜在灾难。
35.软件评审的目标在于:尽早发现软件过程中的错误,防止错误传递、蔓延至后续活动,防止错误转化为缺陷。36.V模型
优点:既有底层测试又有高层测试。底层:单元测试。高层:系统测试。
将开发阶段清楚的表现出来,便于控制开发的过程。当所有阶段都结束时,软件开发就结束了。
缺点:容易让人误解为测试是在开发完成之后的一个阶段。
由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源。
实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试,返工量大。37.W模型:
优点:
将测试贯穿到整个软件生命周期中,且除了代码要测试,需求、设计等都要测试。更早介入软件开发中,能尽早发现缺陷并修复。
测试与开发独立起来,并与开发并行。缺点:
对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
对于需求和设计的测试技术要求很高,实践起来很困难。
从N0中某节点开始到Nf中某节点结束的一条路径称为一条测试路径。
1.软件缺陷:(符合下列规则的叫软件缺陷):
1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误
3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。3.回归测试
指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
4.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
第五篇:软件测试总结
面向对象程序的软件测试方法
在软件生命周期过程中,软件测试是保证软件质量的关键环节之一。面向对象方法学在软件工程中的引入极大地方便了软件的设计、开发和维护,为创建高可靠性的软件系统提供了重要保证。但面向对象程序的封装、继承、多态和异常处理机制等新特性却给测试带来新的挑战。一方面需要调整、改进传统的测试策略和方法;另一方面探索出适应面向对象程序特征的测试理论与技术也尤为必要。
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象的定义或说明对象的定义的非常少。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
1、面向对象的基本概念
(1)对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
(3)类。具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
(4)类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
(5)消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。消
2、面向对象的特征
(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)分类性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
(4)多态性(多形性)多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。
面向对象方法的基本思想是一:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。
二: 面向对象方法是以认识论为基础,用对象来理解和分析问题空间,并设计和开发出由对象构成的软件系统(解空间)的方法。由于问题空间和解空间都是由对象组成的,这样可以消除由于问题空间和求解空间结构上的不一致带来的问题。简言之,面向对象就是面向事情本身,面向对象的分析过程就是认识客观世界的过程。
面向对象方法从对象出发,发展出对象,类,消息,继承等概念。
面向对象方法的主要优点是:符合人们通常的思维方式;从分析到设计再到编码采用一致的模型表示具有高度连续性;软件重用性好。
面向对象软件测试的特点是: 1.掌握代码检查、走查与评审的基本方法和技术; 2.掌握白盒测试和黑盒测试的测试用例的设计原则和方法; 3.掌握单元测试和集成测试的基本策略和方法;
4.了解系统测试、性能测试和可靠性测试的基本概念和方法; 5.了解面向对象软件和WEB应用软件测试的基本概念和方法; 6.掌握软件测试过程管理的基本知识和管理方法; 7.熟悉软件测试的标准和文档;
8.掌握QESuite软件测试过程管理平台和QESat/C++软件分析和工具的使用方法。