1 了解传统项目开发流程(瀑布模型)
2 自动化测试决定
自动化测试确实存在许多优点,但并不是任何测试都能自动化,它也存在着局限性。克服不正确的自动测试期望,必须针对测试项目的具体情况,确定什么时候,对什么进行自动化。如果对不适合自动化的测试,实施自动化,不但耗费了大量资源,而且得不到相应的回报。要记住:自动测试不可能完全替代手动测试。
在针对测试项目的整个周期时间、资源分配情况及资金安排情况的综合分析后,确定什么时候,对什么进行自动化。
2.1 为什么要做自动化
通常,软件测试的工作量很大。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,这样,计算机就最适合于代替人工去完成这样的任务。要理解为什么要进行自动化测试,可以从以下几个方面来考虑。一方面,手工测试存在如下的局限性:
●通过手工测试无法做到覆盖所有代码路径。
●简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。
●许多死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。
●进行系统压力、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。
●进行系统可靠性测试时,需要模拟系统长时间运行,以验证系统能否稳定运行,这也是手工测试无法模拟的。
●如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到。
2.2 克服不正确的自动化测试期望
●测试工具可以用于所有的测试
●测试工作会马上减轻
●进度会马上缩短
●工具易于使用
●测试自动化的普遍应用(100%的测试覆盖率)
2.3 了解自动化测试的好处
●缩短软件开发测试周期,可以让产品更快投放市场。
●测试效率高,充分利用硬件资源。
●节省人力资源,降低测试成本。
●增强测试的稳定性和可靠性。
●提高软件测试的准确度和精确度,增加软件信任度。
●软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。
●手工不能做的事情,自动化测试能做,如压力、性能测试。
2.4 获取部门的支持
2.5分析需求和用例
2.6 选择和评审用于自动化测试的工具
3. 自动化工具的获取
实现自动化测试,测试工具的选择很重要,而目前还没有一个单一的测试工具能用来完成所有的测试需求。测试工具品种不一,功能性能各异。对自动测试工具的适当选择,很大程度上决定了该工具能否获得相应的投资回报。
要对市场上各种测试工具进行广泛地调查比较。在选择时,建议考虑以下几个方面:该工具引入后改进测试的效果,能实现何种测试需求;测试工具与待测软件/系统的互操作性;工具的成本估算;引入工具所需的额外时间;工具所需的专业知识及培训费用等等。有时,可以选择开放性开发的测试工具。
3.1 评审系统环境
3.2 评审测试工具是否可以支持该系统环境
3.3 肯定工具对系统环境的支持
4 自动化引入过程――自动化如何及在哪个阶段引入
5 测试组的管理
5.1 测试组的组织结构
5.2 测试任务
5.3 测试工作规模
5.4 任务及职责
6 测试计划:灵活运用测试
6.1 测试范围
6.2 用例的分级
6.3 测试环境
6.4 测试计划
7 测试分析与设计
7.1 测试需求分析
7.2 测试框架设计
7.3 测试程序设计
8 自动化脚本开发
9测试执行
10 测试结果分析
11 优化&调整脚本
12 rerun
13 提交测试报告并录入bug
14 跟踪复查bug