软件测试主要技能
-
测试技能问题
1.
什么是软件测试?
答:软件测试是为了发现错误而执行程序的过
程。或者说,软件测
试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一
批测试用例(即
输入数据及其预期的输出结果)
,
并利用这些测试用例去运行程序,
以发现程序错误的
过程。
软件测试的定义
:使用人工和自动化手段来进行或测试某
个系统的过程;其目
的是在于检验它是否满足规定的需求或弄清预期结果和实际结果之间
的差距;
2.
软件测试的目的?
p>
答:
测试的目的是想以最少的人力、
物力和
时间找出软件中潜在的各种
错误和缺陷,
通过修正种错误和缺陷提高软件质量,
回避软件发布后由于潜在的软件缺
陷和错误造成的隐患带来的商业风险。
3.
什么是缺陷?
不符合需求规格说明书的,
实际结果与预期结果不一致的
4.
测
试结束的标准是什么?
---
用例全部测试
---
覆盖率达到标准
---
缺陷
率达到标准
---
其他指标
达到质量标准
5.
< br>如何进行回归测试?
一般是系统发现
BUG
,开发人员修改后,和
BUG
直接相关以及可能
p>
相关的功能进行的测试。
回归测试是指修
改了旧代码后,
重新进行测试以确认修改没有
引入新的错误或导致其他代码产生错误。
6.
测试用例通常包括哪些内容?测试用例的定义
:
是为了某个特定目标而编制的一组测试输
入
执行条件以及预期结果以便测试某个程序路径或核实满足某个特定需求;
软件测试用例的基本要素包括测试用例编号、
测试标题、
重要级别、测试输入、操作步
骤、预期结果。
测试用例方法
:有效等价类、边界
值分析、因果图、错误猜测法
等价类分
等价类是指某个输入域的子集合
.
在该子集合中
,
各个输入数据对于揭露程序中的
错误都是等效的,
分为为有效等价类和无效等价类,
例
如
:
用户登录模块里面的用户名,
<
/p>
用户名的长度为
15
个字符由数字和汉字
组成,
当输入的是
15
个汉字和数字就
属于有效
等价类,输入的不是
15<
/p>
个汉字和数字,是特殊字符就属于无效等价类
< br>边界值分析
测试工作经验告诉我
,
大量的错误是发生在输入或输出范围的边界上
,
而不是发
p>
生在输入输出范围的内部
.
因此针对各种边界情况设计测试用例
,
可以查出更多
的错误
.
使用边界值分析方法设计测
试用例
,
首先应确定边界情况
.
通常输入和输出等价类的边
界
,
就是应着重测试的边界情况
.
应当选取正好等于
,
刚刚大于或刚刚小于边界的值作为
p>
测试数据
,
而不
是选取等价类中的典型值或任意值作为测试数据
.
因果图方法
最终生成的就是判定表
.
他是对原因和
结果之间的组合,
它适合于检查程序输入
条件的各种组合情况
.
错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误
,
从而有针对性的设计测
试用例的方法
.
错误推测方法的基本思想
< br>:
列举出程序中所有可能有的错误和容易发生
错误的特殊情况
,
根据他们选择测试用例
p>
.
例如
,
在单元测试时曾列出的许多在模块中
常见的错误
.
以前产品测试中曾经发现的错误等
,
这些就是经验的总结
.
还有
,
输入
数据和输出数据为
0
的情况
.
输入表格为空格或输入表格只有一行
.
这些都是容易发
生错误的情况
.
可选择这些情况下的例子作为测试用例
.
6.
您认为做好测试用例设计工作的关键是什么?
白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部
程序逻辑结果
黑盒测试用例设计的
关键同样也是以较少的用例覆盖模块输出和输入接口。
不可能做到
完全测试,以最少的用例在合理的时间内发现最多的问题
7.
测试计划工作的目的是什么?测试计划工作的内容都包括什
么?其中哪些是最重要的?
软件测
试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、
测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测
试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任
务和测试方法,
保持测试实施过程的顺畅沟通,跟踪和控制测
试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、
测试用例之间是战略和战术的关系,
测试计划主要从宏观上
规划测试活动的范围、
方法和资源配置,
而测试详细规格、
测试用例是完
成测试任务的
具体战术。所以其中最重要的是测试测试策略和
测试方法(最好是能先评审)
8.
您认为做好测试计划工作的关键是什么?
----
明确测试的目标,
增强测试计划的实用性;
---
坚持
“
5W<
/p>
”
规则,
明确内容与过程:
“
5W
”
规则指的是
“
What
(做什么)
”
、
“
Why
(为什么做)
”
、
“
When
(何时做)
”
、
p>
“
Where
(在哪里)
< br>”
、
“
How
< br>(如何做)
”
。利用“
5W
p>
”规则创建软件测试计划,可以帮助测试团队理解测试的目
的(
p>
Why
)
,明确测试的范围和内容(
What
)
,确定测试的开始和结束日期(<
/p>
When
)
,指出测
试的方法和工具(
How
)
,给出
测试文档和软件的存放位置(
Where
)
;
---
采用评审和更新机
制,保
证测试计划满足实际需求;分别创建测试计划与测试详细规格、测试用例
9.
请以
web
网站测试为
例
,
详细的描述一次测试用例设计的完整的过程。
首先:得到相关文档(需求文档和设计文档)<
/p>
,
理解需求和设计设计思想后,想好测试
策略(测试计划简单点就
OK
了)
,考
虑到测试环境,测试用例,测试时间等问题。
第二步:设计测试用例,
测试策略是:把网站部分的功能点测试完,然后在进
行系统测
试(另外个模块呢有另一个测试人员负责,可以进行联调测试)
,网站模块的测试基本是功
能测试和界面测试(用户并发的可能性很小,所以不
考虑)
:这次的网站的输入数据呢是使
用数据库中的某张表记录
,
如果表中某一数据记录中新加进来的
(还没有被处理的,
p>
有个标
志位)
,网站启动后会立刻去刷那张
表,得到多条数据,然后在进行处理。处理过程中,会
经历
3<
/p>
个步骤,
网站才算完成了它的任务。
有<
/p>
3
个步骤呢,
就可以分别对这
3
个步骤进行测
试用例的设计
,
尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等)
,得出了差
不多
50
个用例。
界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的
页面展示;
p>
第三步:
搭建测试环境
(
< br>为什么这个时候考虑测试环境呢?因为我对网站环境已
经很熟了,只有机器能空于
下来做该功能测试就可以做了)
,因为网站本身的环境搭建和其
他的系统有点不同,它需要的测试环境比较麻烦,需要
web
服
务器(
Apache,tomcat
)
,不过
这次需求呢,网站部分只用到了
tomcat
,所以只要有
tomcat
即可;
第四步:执行测试
10.
性能测试工具
load runner
---
性能测试工具:
Load runner
:
(集合点、事务)就是通过代
理的方式截取客户端
和服务期间交互的数据流。
性能测试的事务是自定义的,
切事务
关注页
面的一个响应时间定以瓶颈。吞吐量和吞吐率与网络有关。
优点:广泛支持业界的标准协议;支持多种平台开发的脚
本;创建真实的系统的负载;
强大的实时监控与数据采集功能
;精确分析结果,定位问题所在。
缺点:不知道协议就无从下手;防火墙等会误认其为病毒,在运行是将其杀死。
制定负载测试计划:
(
分析应用程序,确定测
试目标,计划怎样执行
Load Runner
)
---
开发测
试脚本(录制基本的用户脚本,完善测
试脚本)
---
创建运行场景(选择场景类型为
Manual
Scenario
,
< br>选择场景类型,
理解各种类型,
场景的类型转化)
---
运行测试
---
监视场景
(
MEMORY
相关,<
/p>
PROCESSOR
相关,
网络吞量以及
带宽,
磁盘相关,
WEB
应用程序,<
/p>
IIS5.0
,
SQL
SERVER
,
NETWORK DELAY
< br>等
)---
分析测试结果
p>
(
分析实时监视图表
,
分析事务响应时间
,
分解页面确定
WEBSERVER
的问题
,
其他有用
的功能
)
11.
< br>利用因果图导出测试用例需要经过的一般步骤
---
分析
程序规格说明的描述中,哪些是原
因,
哪些是结果;
分析程序规格说明的描述中语义的内容,
并将其表示成连接各个原因与各<
/p>
个结果的因果图;
在因果图上使用若干个特殊的符号标明特定的约
束条件;
把因果图转换成
判定表;把判定表中每一列表示的情况
写成测试用例