软件测试与质量知识点整理-51Testing
软件测试与质量知识点整理
1、软件测试概述
1
1、软件测试基本思想
11
1
1
( ) 软件生存周期:
11
软件生命周期一般包括以下阶段:软件计划与可行性研究(问题定义、可行性
研究)、需求分析、软件设计(概要设计与详细设计)、编码、软件测试、运行
与维护
2
2
( ) 软件测试的技术与过程
22
软件测试的过程包括以下阶段:测试设计、测试自动化、测试执行、测试评估
测试设计:
1 Criterial Based
1)Criterial Based:设计测试数值去满足覆盖规则或者其他工程性目标
11 CCrriitteerriiaall BBaasseedd
软件测试中最具技巧性的工作
需要的知识:离散数学、编程、测试
往往需要软件工程知识背景
2 Human Bases
2)Human Bases:基于程序的领域知识和测试的人工知识设计测试数据
22 HHuummaann BBaasseess
基于规则的(Criteria-based)方法会忽略特殊情况,
需要的知识:域知识、测试技能和用户接口
几乎不需要传统的软件工程知识背景
测试自动化:将测试数据写入可运行脚本
需要很少的理论知识基础,对技术的要求不高,需要较低层次的编程技术即可
测试执行:在软件上运行测试并且记录结果
如果测试自动化程度比较高,这将是一个简单而又繁琐的工作。
需要基本的计算机技能:实习生、没有软件工程知识背景的人员
图形用户界面并不是很容易实现自动化,这需要许多人工劳作
测试执行者必须非常谨慎小心地对运行结果进行记录
测试评估:评估测试的结果,这比它看上去要难得多
需要的知识:领域知识、测试知识、用户接口和心理学
通常情况下几乎不需要软件工程( )学历:软件的领域( )背景很
SE domain
重要;有相关的经验背景是很有用的(生理学、心理学…);具有逻辑很好的逻
辑思维对胜任这项工作很有帮助(法律、哲学、数学)
其他活动:
1
1)测试管理:制定策略,组织团队,开发之间的接口,选择测试规则,决定所
11
需要的自动化程度
2
2)测试维护:保存测试用例以供软件衍化时的复用,需要测试设计人员和自动
22
化人员的合作,决定何时整理测试套件既需要策略又需要技巧,测试必须纳
入配置管理
3
3)测试文档:需要各方参与,每个测试都需记录“为什么要这么做” 规则和
33
满足测试需求或者人工设计的测试基本原理,保证整个过程可追溯,在自动
化的测试中做记录
模型驱动式软件测试:
3
3
(33) 持续的软件测试
不同级别的测试:
1)单元测试: 单独测试每一个单元(方法)
2)模块测试: 测试每一个类、文件、模块或组件
3)集成测试: 测试各个模块如何交互
4)系统测试: 测试系统的总体功能性
5)验收测试: 这个软件是否能够被