. . .
编码疏漏引起)
3、 单元测试关注的重点: 1.出错处理、 2.单元接口、 3.局部数据结构、 4.独立路径、 5.边界条件
4、 单元测试的主要关注点:
1.参数的属性、顺序、个数是否与LLD一致
2.不能修改只做输入用的形参,否则可能导致数据的错误修改 3.约束条件是否通过形参来传送 5、驱动和桩的功能:
1. 驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果 2.桩单元:用来代替所测单元调用的子单元 6、单元测试策略:
孤立的测试策略、自顶向下、自底向上的单元测试策略 1) 孤立的测试策略:
· 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。
· 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。
· 缺点:桩函数和驱动函数工作量很大,效率低。 2) 自顶向下的单元测试策略:
· 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。
· 优点:可以节省驱动函数的开发工作量,测试效率较高。
· 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。 3) 自底向上的单元测试策略:
· 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模 块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被 测试过的模块做桩模块。以此类推,直到测试完所有模块。 · 优点:可以节省桩函数的开发工作量,测试效率较高。
· 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产
生很大的影响。 4、 单元测试的四个阶段:
· 测试计划:完成单元测试计划; · 测试设计:完成单元测试方案; · 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件; · 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单
元测试报告。
..........
. . .
2.1.2集成测试
1. 集成测试的目的:确保各组件组合在一起后能够按照既定意图写作运行,
并确保增量的行为正确(属于灰盒测试) 1) 验证接口是否与设计相符 2) 发现设计和需求中存在的错误
2. 集成测试关注的重点:单元间的接口、集成后的功能
3. 集成测试的层次:模块内集成、子系统内集成、子系统间集成 4. 集成测试策略:
1) 大爆炸集成 2) 自顶向下集成 3) 自底向上集成
4) 三明治(混合式)集成 5) 基干集成 6) 分层集成
7) 基于功能的集成 8) 基于消息的集成 9) 基于进度的集成 10) 基于风险的集成 2.1.3系统测试(System Testing):
系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个
元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。
1. 系统测试目的:
1) 通过与需求做比较,发现与系统定义不符合或与之矛盾的地方
2) 系统测试的用例应根据需求分析说明书来设计,并在实际使用环境下运
行
2. 系统测试对象
1) 软硬件集合在一起的系统
2) 验证时应尽可能模拟实际的运行环境与条件
3. 系统测试常用类型:功能、性能、压力、容量、安全性、GUI、可用性、安
装、配置、异常(恢复性)、备份、健壮性、文档、在线帮助、网络、稳定性测试
2.2测试方法的选择: 同行评审的概念 :同行评分是一种依据程序整体质量,可维护性、可扩展性、易用性和清晰性对匿名的 程序进行技术评价的技术。改技术的目的
..........
. . .
是为程序员提供自我评价的手段。 2、实施过程: 选出一名程序员来担任这个评分过程的管理员,管理员又会挑选出大约2~20名参与者,保持匿名,这些参与者否应具有相似的背景要求每名参与者都挑选出两个由自己编写的程序以供评审。其中的一个程序应是参与者自认为能代表其自身能力的最好的作品,而了另一个则是参与者自认为质量较差的作品。 当所有程序都收集完毕后,就将这些程序随即分发给参与者。没名参与者拿到4个程序进行评审,其中的两个是“最好”的程序,另外两个则是相对“较差”的程序,单评审人自己并不知道。每名参与者没评审一个程序得花费30分钟,评审完后填写一张评价表。所有4个程序都评审完后,参与者对4个程序的相对质量进行分级。评价表要求评审人用从1~7的分值对诸如下面的问题进行回答: 1)程序是够易于理解?
2)高层次的设计是够可见且合理? 3)低层次的设计是否可见且合理? 4)修改此程序对评审者而言是否容易? 5)评审者是否会以编写出该程序而骄傲?
还要要求评审人给出总的评价和建议的改进意见。
评审结束后,参与者会收到自己的那两个程序的匿名评价爱表,此外还会收到一个带统计的总结,说明在所有的程序中其程序的整体和具体得分情况,以及他对其他程序的评价爱与其他评审人同意程序打分的比较分析情况。
评审目的:
让程序员对自身的编程技术进行自我评价。
2.3 选择工具:
请描述用QTP(Quick Test Professional)进行功能测试的步骤:
1.创建测试或建组 首先通过在应用程序或网站上录制会话,活着建立对象库并使用关键字驱动功能向关键字视图中手动添加步骤来创建测试或组件。在QTP里面我们可以通过两种方式添加步骤来创建测试或组件: 在应用程序或网站上录制会话。 建立对象库并使用这些对象在关键字视图或专家视图中手动添加步骤 然后在测试或组件中插入检查点,检查页面、对象或文本字符串中的特定值或特征,通过它可以表示网站或应用程序是否正常运行。
2.运行测试和组建 控制运行会话,帮助标识和消除测试或组件中的缺陷。使用“单步执行”、“单步跳过”和“单步退出”命令逐步运行测试或组件,或设置断点使测试或组件在预订点暂停。
3.分析结果 在运行测试或组件之后,通过两种方式可以查看其结果:在“结果”窗口中查看;自动报告在运行对话过程中检测到的缺陷,可能的话并上报到其他缺陷管理产品中。
..........
. . .
2.4设计测试用例: 2.4.1静态测试
测试计划、测试人员、测试方式和测试结果 1、进度/工作量度量 任务 计划开始 计划结束 实际开始 测试计划与2016-6-10 2016-6-22 2016-6-8 设计 测试执行 2016-6-12 2016-6-22 2016-6-13 2016-6-20 4 测试总结 2016-6-20 2016-6-22 2016-6-20 2016-6-22 4 (1) 代码审查:代码审查是通过代码走读的方式来实现的。
(2) 代码走读是开发人员在对某个模块的代码(必须编译通过)依据设计说明书完成编码后,进行的代码评审活动。代码走读前要在内部统一标准,明确质量目标。评审中,除了看编码是否紧扣设计外,走读还应兼顾三个层面:第一个层可称之为单元走读,关注的是“单元”,一般是一个方法或一个类,需要查找代码层面的错误,比如数据库网络资源的回收、一些异常的捕捉、空指针的检查及关键字的使用是否正确等;第二个层面可称之为集成走读,关注的是接口和流程,包括传人的参数检查、返回值检查及流程能否顺利地进行和正确串联等;第三个层面可称之为系统走读,关注的是功能层面和业务逻辑,这时发现更多的应该是逻辑错误和功能缺陷。
当然,在走读过程中这三个层面不是截然分开的,很多时候是并行的、互相交织和渗透的。代码走读的另一个重要内容是看代码是否遵守编程规范引,是否具有可读性和可维护性,注释是否充足等。按编程规范编码对提高代码的可读性以及降低编码的出错率至关重要,在大型项目中,具备可读性、规范性的代码更是日后进行有效维护的保障。因此,代码走读不仅可以保证代码的质量,更能有效地促进整个项目的编码水平。
(3)代码走读:代码检查是通过桌面检查、走查方式和代码审查进行的检查:
包括:
★ 检查代码和设计是否一致;
★ 代码是否对遵循标准、是否可读; ★ 代码逻辑表达是否正确; ★ 代码结构是否合理;
★ 程序编写与编写标准是否符合;
★ 程序中是否有不安全、不明确和模糊的部分; ★ 编程风格是否符合要求。
★ 检查变量的交叉引用表:是否有未说明的变量和违反了类型规定的变量。
★ 检查标号的交叉引用表:验证所有标号是否有正确。
..........
工作量(人时) 2016-6-20 4 实际结束