2.1软件测试的基本概念
-
软件测试:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
-
为什么需要软件测试:人本身容易犯错、时间的压力、复杂的外部系统、复杂的代码、复杂的系统架构。
-
软件测试的目的:
-
发现缺陷,提高质量
-
验证是否满足需求
-
建立软件质量信心
-
软件测试的原则:
-
测试显示缺陷的存在
-
尽早介入的原则
-
穷尽测试时不可能的
-
测试依赖于测试背景
-
缺陷集群性
-
杀虫剂悖论
-
缺陷不存在的谬论
-
软件测试工作最为重要的是:
-
测试流程、方法
-
测试工具
-
测试人员素质
2.2软件测试工作流程
-
软件测试管理的流程和各阶段的主要工作内容:
-
测试计划和控制:确定测试范围,制定出测试计划,说明要测试的项目的相关资料,如:输入输出文档,产品描述,软件主要功能,进行人力资源的分配。
-
对应的输出文档:测试计划和测试进度表
-
测试分析和设计:主要工作内容是明确需求的范围,明确每个功能的业务处理过程,不同的功能点与业务的组合,挖掘显示需求背后的隐士需求,制定测试的技术方案,设计测试用例,选择测试工具等。
-
对应的输出文档:测试设计规格说明书和测试用例规格说明书
-
测试实现和执行:建立或设置相关的测试环境,准备测试数据,执行测试用例,对发现的软件缺陷进行报告、分析、跟踪等。
-
对应的输出文档:测试规程规格说明、测试日志和事件报告
-
评估出口准则和报告:测试执行结束后,对测试结果要进行整体的或综合分析,总结测试过程出现的错误,做好测试总结报告。
-
对应的输出文档:测试总结报告
-
测试结束活动:测试经理和测试团队中的其他成员还需要将测试工作产品归档,同时对测试过程和测试活动进行相关数据的收集和分析,总结测试过程和测试活动的经验教训。
-
对应的输出文档:分析统计报表,软件测试管理文档
软件测试流程图
2.3软件测试工具对测试工作的支持
-
商业化的测试工具:
-
测试管理工具: HP ALM/QC
-
自动化测试工具: HP UFT(QTP & Service Test)
-
性能测试工具: HP Loadrunner
-
安全测试工具: HP Fortify、WebInspect
-
开源测试工具:
Testlink、Mantis、BugZilla、Selenium、JUnit、CppUnit、JMeter