软件测试的目的和原则
什么是需求
满足用户的期望或规定的文档(合同、标准、规范)所需要的条件和权能,包含用户需求和软件需求。
什么是bug?
1、当且仅当规格说明(软件需求)存在,并且正确,如果程序和规格说明不相符,就是软件缺陷
2、若果没有规格说明,当且仅当用户需求存在并且合理,如果程序和用户需求不相符,就是软件缺陷
测试用例
测试用例就是向被测试系统发出的一系列的集合,包含测试数据,测试环境(软,硬),操作步骤,预期结果等。
同时包括的内容:标题、测试模块、重要性、前提条件等。
网易邮箱登录界面测试用例:
标题:网易邮箱登录成功测试用例
测试模块:登录模块
前提条件:注册得到账户
重要性:重要
BUG的生命周期:
测试数据:正确的用户名、密码
测试环境:Chrome
操作步骤 | 预期结果 |
1、打开网易邮箱登录界面 | 出现登录界面 |
2、输入正确的用户名和密码 | 登陆成功 |
3、点击登录按钮 |
|
开发模型和测试模型
软件开发的生命周期:
需求分析、计划、设计、编码、测试、运行维护
瀑布模型:
螺旋模型:
适合的项目:项目庞大并且需求不是很明确,风险比较大的项目。
增量、迭代
例:
系统 A B C D 四个业务模块,2周时间
增量模型:第一周完成A B 两个模块,第二周完成 C D 两个模型
迭代模型:第一周完成 A B C D 四个模块的基本功能,第二周完成较复杂的业务功能
敏捷
thoughtworks
Scrum:轻文档,轻流程,重目标,重产出。1~4周
特点:请流程,轻文档,重目标,重产出
轻量级:迭代周期短,参与人员少
PO:product owner 客户的代表,负责把用户的需求转换成 user
敏捷中的测试:测试用例的作用减弱,主要用思维导图整理测试思路,要运用探索性测试。
软件测试模型
V模型
特点/优点:后期的测试阶段和前期的阶段可以一一对应起来,清楚的标注每一个测试阶段的依据
缺点:不利于项目前期风险的及时发现
W模型:
特点:测试在项目前期介入,对需求,系统设计等都会进行验证
优点:测试介入早,有利于全面的发现系统前期的风险
缺点:阶段性比较强,强调一个阶段完成之后再进入下一个阶段,不可逆,所以无法适应敏捷开发