源程序测试用例被测程序执行路径分析覆盖情况分析图2-1白盒测试过程示意图基本路径测试法逻辑覆盖法由安博测试空间技术中心提供图2-2黑盒测试示意图图2-3管理员信息维护界面案例:设计某购书网中“管理员信息维护”模块的场景测试用例,管理员信息维护界面如图2-3,点击“Edit”链接,进入编辑界面,如图2-4。图2-4管理员信息编辑界面案例分析:第一步:确定基本流和备选流,如表2-1。基本流点击“管理员信息维护”Tab,点击“Edit”链接,输入正确的管理员姓名、用户名、登录密码,点击“UpDate”链接。备选流1不点击“Edit”链接,直接点击“删除”备选流2点击“Edit”链接,不点击“Update”点击“Cancel”备选流3点击“Edit”后,输入错误的用户信息,点击“UpDate”链接表2-1基本流和备选流第二步:根据基本流和备选流来确定场景,如表2-2.表2-2确定场景场景1-正常管理员信息维护基本流场景2-不点击“Edit”链接,直接点击“删除”基本流备选流1场景3-不点击“Update”点击“Cancel”基本流备选流2场景4-点击“Edit”后,输入错误的用户信息基本流备选流3第三步:设计用例把数据填入用例表中,如表2-3表2-3测试用例测试用例ID场景/条件预期结果1场景1-正常管理员信息维护输入正常2场景2-不点击“Edit”链接,直接点击“删除”删除正常3场景3-不点击“Update”点击“Cancel”取消保存上一步输入的信息管理员姓名、用户名、登录密码变为不可编辑状态,“UpDate”、“Cancel”显示为“Edit”4场景4-点击“Edit”后,输入错误的用户信息系统提示错误信息2.5白盒测试与黑盒测试的比较2.5.1白盒测试的优缺点1)优点•可构成测试数据对特定程序部分测试,可以检测代码中的每条分支和路径;•揭示隐藏在代码中的错误;•对代码的测试比较彻底;•有一定的充分性度量手段。(覆盖率)2)缺点•工作量大,成本高。通常只用于单元测试,有应用局限;•无法检测代码中遗漏的路径和数据敏感性错误;•不能验证规格说明的正确性;•不易生成测试数据(通常),必须编码完成才能根据内部逻辑结构生成。2.5.2黑盒测试的优缺点1)优点:•测试人员不需要了解实现的细节,包括具体的编程语言;•测试员和程序员可以由不同的人员来担任;•从用户的角度进行测试,容易被理解和接受;•有助于暴露任何规格不一致或有歧义的问题;•测试用例的设计可以在规格说明完成之后马上进行(提早);•适用于各阶段测试。2)缺点•某些代码得不到测试;•如果没有清晰、简洁的规格说明,难以设计测试用例;•如果测试人员不知道开发人员已经执行过该测试用例,会存在不必要的重复测试;(不是同一人)•不能直接针对可能隐蔽了许多问题的特定程序段进行测试;•不易进行充分性测试。•2.5.3灰盒测试•介于白盒测试和黑盒测试之间,是现代测试的一种理念。•在白盒测试中交叉使用黑盒测试的方法;•在黑盒测试中交叉使用白盒测试的方法。•2.6软件测试的最佳实践2.6.1测试计划的制定(5W1H,六何分析法)Why、What、When、Where、Who、How•为何测试•测试哪些方面,不同阶段的工作内容•测试不同阶段的起止时间•文档、缺陷的存放位置,测试环境•人员组成•如何去做,使用的测试工具及测试方法取得需求文档:需求定义文档 需求规格说明文档 需求追踪矩阵确定测试策略:测试的范围 测试方法 测试入口 自动化测试策略确定测试系统:测试架构 测试环境 测试配置预估测试工作量:确定任务 按人天和工作周来预估工作量 得到时间进度计划和里程碑 评估进度风险并制定风险化解计划准备并复查测试计划:编写策略、系统、工作量和时间进度 文档与项目团队一起复查测试计划优先级高新增或修改的功能使用用例设计技术80-20原则用例和功能对应各种环境因素的组合2.6.2测试报告•测试报告是测试阶段最后的文档产出物。•包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终测试结果的分析。•一图胜千字洗衣机洗衣服干净程度耗电量耗水量噪音大小突然断电造成的影响•编写要素:•基本信息–版本信息、声明信息(免责)•引言–编写目的(可加阅读指南)、项目背景和系统简介、术语和缩写词、参考资料•测试概要–测试目的、范围、用例设计方法、测试环境配置、测试方法和工具•测试结果及缺陷分析–执行情况记录、测试时间、测试版本、覆盖分析、缺陷统计与分析•测试结论–是否充分、风险度量、目标是否达成、相关建议用户:结论(产品质量)开发者:缺陷结果项目管理者:测试成本高层:图表、其它项目比较2.6.3测试用例文档的编制1、测试用例的设置用例和功能对应2、测试用例的设计等价类划分法、边界值分析法、错误推测法、因果图法、逻辑覆盖法等。丰富经验和精心设计。3、测试用例的评审4、测试用例的修改更新5、测试用例的管理如:word、excel、数据库考虑不周反馈缺陷,用例有漏洞软件版本更新如何打造测试团队?•2.6.4选择合适的人才建设测试团队•一、确定测试团队在企业中的定位–隶属其他部门(如项目经理)还是独立?–工期短时是否被弱化?产品组经理开发经理质量保证经理项目经理流程经理设计经理开发工程师测试人员测试团队隶属质量管理部门烟囱型测试团队定位软件能力成熟度模型CMM:软件开发过程的管理及工程能力的提高与评估。改善软件质量的方法–测试员、开发人员及其它团队成员无法进行有效沟通,将提高发布风险阶段功能?单元测试集成测试系统测试验收测试安全测试安装测试性能测试容量测试功能测试二、确定测试团队的规模三、确定企业中需要的测试类型(矩阵)•四、确定需要的测试阶段–尽量提早,返工难•不同阶段找出缺陷的耗时示意如下:•五、建立测试团队的内部组织结构2.6.5软件工程迭代开发过程本章小结•白盒测试的概念和测试用例设计方法•黑盒测试的概念和测试用例设计方法•白盒测试和黑盒测试的比较•Thereisno“onetrueway”!•软件测试的最佳实践–测试计划–测试报告–测试用例的设计–测试团队建设习题1.假如某个系统的注册用户名要求由字母开头,后跟字母或数字的任意组合构成,有效字符不超过6个。试确定有效等价类和无效等价类,并据此设计测试用例。2.我国电话号码一般由两部分组成。地区码:以0开头的3位或者4位数字。电话号码:以非0、非1开头的7位或者8位数字。应用程序会接受一切符合上述规定的电话号码,而拒绝不符合规定的号码。试用等价类划分法设计测试用例。3.针对自动售货机程序运用因果图法进行测试用例设计。自动售货机有两种东西(橙汁、可乐)供选择(两个按钮),售价均为5角。售货机可以接受5角钱或1元钱的硬币,需要找零钱。例如,投入1元硬币买橙汁,如果售货机没有零钱找,则退回1元硬币,并红灯显示“零钱找完”。•北京测试空间科技发展有限公司是注册于北京市海淀区高新技术园的软件企业,目前主要业务范围包括软件测试管理•工具研发、软件测试项目外包和软件测试专业技术人才培养及派遣。在软件测试管理工具研发领域已成功开发具有•自主知识产权的STMP管理软件。在软件测试项目外包领域已建立广泛的业务渠道,服务客户包括北大软件工程中心、•东软股份、海辉高科、用友软件、莱博智科技、电子部5所、11所,航天704所、中国金融认证管理中心、国安创想、•清华同方、中软融鑫、长峰科技等100余家企业,项目覆盖行业包括军工、航天、金融、通信等领域。•由安博测试空间技术中心提供•地址:北京市海淀区学院路40号大唐电信测试空间楼•联系电话:010-623032236230326062303230