(入职第一天装了电脑后,主管就拿过来一本书:今天没什么任务,你先看看这本书。以下就是看书的总结)
现在人们普遍认为软件是计算机中与硬件相结合的一部分,包括程序和文档
软件=程序+文档
程序是指能够实现某种功能的指令的集合
文档指的是软件在开发、使用和维护的过程中产生的图文集合
测试的分类
软件测试和硬件测试
软件测试分为程序测试和文档测试
程序测试主要包括程序逻辑功能、界面、性能、易用性、兼容性、安装等的测试
文档测试主要包括文档内容和截图的检验,排版风格的检查,错别字的校验等
系统软件:能够直接操作底层的硬件、并为上层软件提供支撑的软件,如操作系统软件、各种硬件驱动程序等。这类软件需要我们结合底层的硬件加以测试
应用软件:能够为用户提供某种特定的应用服务的软件
单机版软件:直接在单个计算机上安装并运行的软件,如office,金山词霸,qq
C/S架构软件:C指的是客户端,S指的是服务器。这种软件是基于局域网或互联网的,需要我们有一台服务器来安装服务器端软件,每一台客户端都需要安装客户端软件。
如QQ,MSN以及各种网络游戏都属于C/S架构。C/S架构过去比较流行,但是不便于升级和维护(升级时需要重新安装每一个客户端),
现在C/S架构逐渐被B/S架构所取代
B/S架构软件:B指的是浏览器,S指的是服务器,这种软件同样是基于局域网或者互联网的,
它与C/S结构软件的区别就在于不需要安装客户端,只需要浏览器即可。如163邮箱,搜狐等门户网站。
B/S结构软件是现在软件的主流,与C/S结构相比,它便于升级和维护(升级时只需要升级服务器即可)
产品软件:目标用户是大众用户,而不是某一特殊群体,如office软件,瑞星杀毒软件等。
它们的共同特点就是针对的是千家万户的大众消费者,而不是固定的某一类用户。
测试这些软件相对比较麻烦,因为最终用户使用的计算机系统千差万别,需要考虑硬件和软件的兼容性测试
项目软件:目标用户是具体的用户
小型 10人以下 1-4个月
中型 10-100人 1年以下
大型 100人以上 1年以上
Bug在英语里是“小虫子”的意思,现在泛指计算机中硬件或软件的错误。
硬件的出错有两个原因,一是设计的错误,二是硬件老化失效。软件的错误全是厂家设计的错误
软件Bug指的是软件中(包括程序和文档)不符合用户需求的问题。这个定义是我们判断一个软件问题是否是Bug的唯一标准
Bug的分类
完全没有实现的功能。用户需要你实现A,B,C三个功能,你只实现了A和B两个功能,C功能没有实现。
基本实现了用户需要的功能,但是运行的时候会出现一些功能或者性能上的问题。
实现了用户不需要的功能
测试工程师的主要工作:发现Bug,记录Bug和关闭Bug
信息传递的误差
用户想要的
用户所说的
需求分析人员所理解的
系统需求规格说明书
开发人员理解的
实际软件
1983年,IEEE软件工程标准术语
软件测试的定义:使用人工或者自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
我们测试一个软件的第一件事,通常就是搭建用来运行软件的测试环境。简单地说,软件测试环境就是软件运行的平台,即软件、硬件和网络的集合
测试环境=软件+硬件+网络
硬件:主要包括PC机、笔记本、服务器、各种PDA终端
软件:主要是指操作系统
网络:主要针对的是C/S结构和B/S结构的软件
搭建测试环境的几个要点
1.真实(尽量模拟用户的真实使用环境)
2.干净(测试环境中尽量不要安装其它与被测软件无关的软件)
3.无毒(测试环境没有中毒)
4.独立(测试环境和开发环境独立)
软件开发环境:软件在开发过程中使用的环境
软件生产和运行环境:最终用户使用的环境
总之,软件测试环境要与软件生产运行环境保持一致,要从开发环境独立出来
测试用例指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果
测试用例=输入+输出+测试环境
输入包括测试数据和操作步骤;
输出指的是期望的结果;
测试环境指的是系统环境设置
案例1 某电子商务网站登录模块功能测试用例
表1.4登录功能测试用例
项目名称 |
|
程序版本 |
10年4月1日 |
|
||||||||
测试环境 |
硬件环境 服务器端:IBM小型机 客户端:2台PC(CPU:P4 2.4G; RAM:256M) |
|||||||||||
软件环境 服务器端:操作系统—Linux9.0; 数据库—Oracle;Web服务器—Web-sphere4.0 客户端:操作系统—windows 2000 pro;浏览器—IE 5.0 |
||||||||||||
网络环境 公司内部的以太网,与服务器的连接速率为100M,与客户端的连接速率为10/100M自适应 |
||||||||||||
编制人 |
赵斌 |
编制时间 |
2014年10月24日 |
|||||||||
功能模块名 |
用户登录 |
|||||||||||
功能特性 |
用户身份验证 |
|||||||||||
测试目的 |
验证是否输入合法的信息,允许合法的输入,阻止非法的输入 |
|||||||||||
预置条件 |
在后台添加一个前台用户,用户名为user,密码为a1;进入网页前台首页 |
|||||||||||
参考信息 |
需求说明中关于登录的说明 |
特殊规程说明 |
无 |
|||||||||
用例编号 |
测试步骤 |
输入数据 |
预期结果 |
测试结果 |
||||||||
DL001 |
输入用户登录名和密码,按登录按钮(第一次登录) |
uername=user password=a1 |
网站强制用户修改密码,即显示修改密码页面,让用户自由选择修改密码 |
|
||||||||
DL002 |
输入用户登录名和密码,按登录按钮 |
uername=user password=a1 |
进入系统页面,页面固定位置显示用户名和当前日期、星期;显示此用户可以使用的功能菜单 |
|
||||||||
DL003 |
输入用户登录名和密码,按登录按钮(用户选择“记住用户名和密码”) |
uername=user password=a1 |
当用户输入用户名的过程中,页面可以自动匹配
|
|
||||||||
DL004 |
用户忘记密码,按“忘记密码按钮” |
|
系统通过手机号或者Email返回用户密码 |
|
||||||||
DL005 |
输入用户名和密码,按“重置”按钮 |
uername=user password=a1 |
清空输入信息 |
|
||||||||
DL006 |
输入用户名和密码,按“登录”按钮 |
uername=user password=a1 |
进入系统页面,页面固定定位位置显示用户名和当前日期、星期;显示此用户可以使用的功能菜单 |
|
||||||||
DL007 |
输入用户名和密码,按“登录”按钮 |
uername=user password=A1 |
显示警告信息“密码错误,请重新输入!” |
|
||||||||
DL008 |
输入用户名和密码,按“登录”按钮 |
uername为空 password=a1 |
显示警告信息“请输入用户名!” |
|
||||||||
DL009 |
输入用户名和密码,按“登录”按钮 |
uername=user password为空 |
显示警告信息“请输入密码!” |
|
||||||||
DL010 |
输入用户名和密码,按“登录”按钮 |
uername为空 password为空 |
显示警告信息“请输入用户名!” |
|
||||||||
DL011 |
输入用户名和密码,按“登录”按钮 |
uername=user password=2 |
显示警告信息“密码错误,请重新输入!” |
|
||||||||
DL012 |
输入用户名和密码,按“登录”按钮 |
uername=uer2 password=a1 |
显示警告信息“用户名不存在,请重新输入!” |
|
||||||||
DL013 |
输入较长的用户名和密码,按“登录按钮” |
|
系统应加以限制,要么设置输入框的输入长度限制,要么给出提示信息 |
|
||||||||
DL014 |
尝试输入特殊字符的用户名,按登录按钮 |
username=NUL,LF,\,#,$等 password=a1 |
显示警告信息“用户名不存在,请重新输入!” |
|
||||||||
DL015 |
尝试输入特殊字符的密码,按登录按钮 |
username=userpassword=NUL,LF,\,#,$等 |
显示警告信息“密码不存在,请重新输入!” |
|
||||||||
DL016 |
输入用户名和密码,按“登录”按钮 |
username=空格+user+空格 password=a1 |
过滤掉空格,重新登录 |
|
||||||||
DL017 |
输入用户名和密码,按“登录”按钮 |
username=uerpassword=空格+user+空格 |
过滤掉空格,重新登录 |
|
||||||||
DL018 |
不用鼠标,尝试使用键盘操作:按tab键在输入框之间切换,按回车确认 |
uername=user password=a1 |
成功登录 |
|
||||||||
DL019 |
用账号user在一台机器上登录,再用账号在另外一台机器上登录 |
uername=user password=a1 |
系统提示“该用户已经登录” |
|
||||||||
DL020 |
用账号user登录,长时间不做任何操作,察看多久自动退出系统 |
uername=user password=a1 |
到一定时间(session的设置值),系统提示“您的账号已经过期。请重新登录页面” |
|
案例2 某电子商务网站登录模块性能测试用例
表1.5 登录性能测试用例
编制人 |
赵斌 |
审定人 |
|
时间 |
06年10月1日 |
||||
软件名称 |
××× |
编号/版本 |
1 |
|
|||||
测试功能 |
测试登录时间 |
||||||||
用例编号 |
DL201 |
||||||||
参考信息 |
|
||||||||
需求说明中关于登录的说明 |
|
||||||||
输入说明 |
|
||||||||
测试一个用户登录的时间,测试5分钟 用loadrunner模拟10个用户同时并发登录页,测试10分钟 用loadrunner模拟20个用户同时并发登录页,测试10分钟 用loadrunner模拟30个用户同时并发登录页,测试10分钟 |
|
||||||||
输出说明 |
|
||||||||
分别记录1-4项的登录时间,取最大值、最小值和平均值 |
|
||||||||
环境要求 |
|
||||||||
硬件环境 服务器端:IBM小型机 客户端:2台PC(CPU:P4 2.4G; RAM:256M) 软件环境 服务器端:操作系统—Linux9.0; 数据库—Oracle;Web服务器—Web-sphere4.0 客户端:操作系统—windows 2000 pro;浏览器—IE 5.0 网络环境 公司内部的以太网,与服务器的连接速率为100M,与客户端的连接速率为10/100M自适应 |
|
||||||||
软件环境 服务器端:操作系统—Linux9.0; 数据库—Oracle;Web服务器—Web-sphere4.0 客户端:操作系统—windows 2000 pro;浏览器—IE 5.0 |
|
||||||||
网络环境 公司内部的以太网,与服务器的连接速率为100M,与客户端的连接速率为10/100M自适应 |
|
||||||||
特殊规程要求 |
|
两种模板比较
excel模板:每一个用例占一行,便于集中管理和维护,一般适合功能用例
word版本:每一个用例占一页。
编写测试用例的注意事项
why
1.便于团队交流
2.便于重复测试
3.便于跟踪统计
4.便于用户自测
when
开发生命周期
需求分析---》概要设计--》详细和设计--》编码--》维护
测试生命周期
测试计划--》测试设计--》测试执行--》测试评估
通常会在测试设计阶段来写用例,即在《需求规格说明书》和《测试计划》都完成之后
who
一般是测试设计人员
what
编写测试用例的唯一标准就是用户需求