知识总结

来源:互联网 发布:关于程序员的书 编辑:程序博客网 时间:2024/04/28 12:53


 

 

 

 

 

 

 

知识总结                        

一.知识回顾:

定义

设计

部署

运行

维护

测试

实施


1.软件生命周期

 

 

2.软件生命周期模型

瀑布模型

 

 

V模型

 

 

 

 

 

迭代模型

3.软件测试的原则:

测试显示缺陷的存在

测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在未被发现缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的。

 穷尽测试是不可能的

除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可能的。通过运用风险分析和不同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽测试。

测试尽早介入

在软件或系统开发生命周期中,测试活动应该尽可能早的介入,并且应该将关注点放在已经定义的测试目标上。

缺陷集群性(80-20原则)

版本发布前进行的测试所发现的大部分缺陷和软件运行失效是由于少数软件模块引起的。

 杀虫剂悖论

采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这种“杀虫剂悖论”,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或系统的不同部分,从而发现潜在的更多的缺陷。

测试活动依赖于测试背景

针对不同的测试背景,进行的测试活动也是不同的。

 不存在缺陷的谬论

假如系统无法使用,或者系统不能完成客户的需求和期望,发现和修改缺陷是没有任何意义的。

4.软件测试生命周期:

W模型

两个V模型的组合

 

5.软件测试的分类:

黑盒测试:是把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构的情况下,测试人员仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。用于数据驱动测试。

白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法。用于单元测试。

灰盒测试:结合黑盒与白盒,用于集成测试。

单元测试:是开发人员编写的一小段代码,用于检验被测软件单元的功能是否正确。

集成测试:单元与单元之间连接点好,属于耦合内聚型。

系统测试:主要测试功能。

验收测试:最后在上线前做的测试。

静态测试:与评审测试相关。

动态测试:与静态测试相反。

手工测试:手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。

自动化测试:一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程

开发测试:基于开发人员的测试

用户测试:基于用户的测试

第三方测试:基于第三方的测试

6.软件缺陷

一般符合下列5个规则之一,就是软件缺陷

Ø  软件未实现产品说明书要求的功能

Ø  软件出现了产品说明书指明不应该出现的错误

Ø  软件实现了产品说明书未提到的功能

Ø  软件未实现产品说明书虽未明确提及但应该实现的目标

Ø  软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好

7. 静态测试概念:通常是不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。最常用而且最主要的方法是同行评审

8. 同行评审概念:开发软件产品作者以外的其他人检查工作,已发现缺陷并寻找改进的机会

同行评审根据正式程度(由低到高)可以划分为5种评审方法:临时评审、桌面评审、走查、小组审查、审查。其中临时评审、桌面评审、走查无标准的流程,正式程度越高,发现的错误越多,成本也越高,一般这5种方法中使用最多的是临时评审。

 

二.软件测试过程包括:

1.测试计划和控制

2.测试需求分析和用例设计

3.实现和执行测试用例

4.评估出口准则和报告

5.测试结束活动

 

三.Testlink简化步骤:

创建项目(产品)

创建需求

创建测试用例

创建计划

给计划添加测试用例

分配测试任务

执行测试/报告bug

1、创建项目:(测试项目管理-新建项目,勾选所有复选框)(FR)

用户管理:创建用户

产品设置:(测试计划在特定时间里描绘产品的测试。)这里的产品也就是项目

2、创建测试需求规格、需求

创建需求规格:需求-在测试产品中下拉选择对应的项目-需求规约-选中项目-

点击-新建需求规约

创建需求:选中产品下的需求规格点击-创建新需求(状态、类型、需要的测

试用例数)

3、创建测试用例

创建测试集:(测试套件(Test Suites))主页-测试规约-选中产品点击-右侧新建测试集

创建测试用例:选中测试集点击-创建测试用例-点击保存-创建步骤

4、为需求指派用例

需求关联:主页-需求-指派需求-选中测试树中的一个测试用例(左侧)-选中需求指派

需求-选中需求-可以查看需求覆盖情况

5、创建测试计划

测试计划是执行测试用例的基础,测试计划由测试用例组成

主页-测试计划管理-创建(勾选活动和公共两个复选框)

创建测试里程碑:(明确每个测试阶段的开始与结束时间)-测试管理-编辑/删除里程碑

版本管理(Builds/Release):主页-测试计划管理-构建管理

安排测试人员:测试计划管理-指派用户角色

6、为计划添加用例

添加测试用例到测试计划:选择当前测试计划(列表)-选择添加/删除测试用例到测试计划

选择测试集(左侧)-选择用户、构建、测试用例-添加选择的测试用例(成功变色、也

可删除)

7、分配测试任务设置测试用例的所有者:主页-测试集-

指派执行测试用例-选中左侧测试集-保存(可以指派给多人),指派给相应的人员以后,可

以让该人员使用其用户名和密码登陆testlink 来执行测试用例;也可以由admin 来执行。

8、执行测试/报告BUG 并跟踪执行测试

9、查看分析结果 测试报告:结果-报告格式-MS word

 

四.testlink中默认的角色包括:

admin--管理员:最高级别,拥有所有的权限

leader--项目责任人:除了产品权限、自定义字段权限、用户权限(用户管理和角色管理)外,其他均有权限

senior tester--高级测试人员:拥有测试用例管理、测试计划管理权限和需求和关键字查看权限

tester--测试人员:仅用户测试计划执行和查看权限

guest--匿名用户:只有查看权限

test disnger--测试设计人员:编辑和查看测试用例的权限,关键字管理权限。

testlink的默认角色基本按照职能进行划分,首先是拥有最高权限的管理员。然后是项目负责人,拥有对整个项目所有测试相关的权限;接着是高级测试人员,可以管理测试用例,编写测试计划等; 下一个普通的测试人员,按照测试计划,执行测试用例;还有一个测试设置人员,可以创建和编辑测试用例。

这样的角色和权限基本与实际工作中的情况一致,但个人觉得测试用例设计的角色不太实用,接触的公司基本都没有单独设计这样的人员。一般情况下,测试用例编写者也是测试执行者,同时也是测试计划编写者。

 

五.导出文档:

在线考试系统


 

在线考试系统——测试计划

详细测试报告

项目: 在线考试系统

项目 范围:

作者: admin

由TestLink打印 2014-08-31

2009 © TestLink Community

内容列表

 

1.1. 前台功能测试(学生端)

1.1.1.在线考试

上一题

下一题

交卷

登录验证

学生注册

成绩查询

答题

 

1.2. 后台功能测试(教师端)

查询考生成绩

1.1. 测试集 :前台功能测试(学生端)

1.1.1. 测试集 : 在线考试

 

测试用例 1-4: 上一题

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  点击上一题按钮
  1.  显示上一题的内容

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.4: 在线考试

关键字:

 无

 

测试用例 1-5: 下一题

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.   点击下一题按钮
  1.  显示下一题的内容

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.4: 在线考试

关键字:

 无

 

测试用例 1-6: 交卷

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  点击交卷按钮
  1.  计算考生的得分

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.4: 在线考试

关键字:

 无

 

测试用例 1-1: 登录验证

作者:

admin

#:

步骤动作:

期望的结果:

1

  1. 登录用户名为空,密码不为空
  2. 登录用户名不为空,密码为空
  3. 输入错误的用户名或密码
  4. 输入正确的用户名或密码
  1.  提示用户名或密码不能为空
  2. 提示用户名或密码不能为空
  3. 提示用户名或密码错误
  4. 显示登陆成功的界面

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.1: 登录验证

关键字:

 无

 

测试用例 1-2: 学生注册

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  输入的任何数据项为空
  2. 输入的密码位数少于6位
  1. 提示该项不能为空
  2. 提示密码至少6位

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.2: 学生注册

关键字:

 无

 

测试用例 1-3: 成绩查询

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  点击查询成绩按钮
  1. 在页面内显示考生的成绩

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.3: 成绩查询

关键字:

 无

 

测试用例 1-9: 答题

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  选中正确的选项
  2. 选中错误的选项
  1.  在成绩中加上改题目的分数
  2. 成绩无变化

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

1.5: 答题

关键字:

 无

 

 

 

 

 

1.2. 测试集 :后台功能测试(教师端)

 

测试用例 1-7: 查询考生成绩

作者:

admin

#:

步骤动作:

期望的结果:

1

  1.  输入考生姓名/学号,点击查询
  2. 不输入任何查询关键词,点击查询
  1.  显示该考生的考试成绩信息
  2. 显示所有考生的考试成绩信息

测试方式:

手工

最终结果:

通过

构建标识

V1.0

测试者

admin

需求

2.1: 查询学生成绩

关键字:

 无

报告和进度

 

六.软件缺陷管理基本流程:

初始化

测试人员

New

项目经理

Open

开发人员

Reject

评审委员会

Closed

 

 

 

 

 

 

 

 

 

 

 


软件测试的一般流程:

 

七.Mantis使用过程:

(1)以administrator 角色登陆mantis,创建项目学籍管理系

(2)可以添加分类,设置、修改版本信息、自定义字段等,如下

(3)创建2 个用户账号和密码,测试人员(即报告员)和开发人员

账号名分别为:你的名字1,你的名字2(如测试员zhangsanTes,密

码root和开发员zhangsanDev,密码root)

参考文档该文档中有添加用户的两种方式:

1.邮箱方式

2.数据库方式

a.创建好这两个用户之后,使用zhangsanTes,密码root 登陆

mantis,发现了stock 的缺陷问题,进行提交

b.使用zhangsanDev,密码root 登陆mantis,将缺陷状态修改为

已确认(不用进行缺陷复现),方法如下:

c.使用administrator 登录mantis,将缺陷分配给ZhangsanDev

d.使用zhangsanDev,密码root登陆mantis,将缺陷状态修改

为已解决,方法如下:

e.使用zhangsanTes,密码root 登陆mantis,对bug 进行验证,

方法如下(我们这里不进行任何操作即可):

f.使用administrator 登录mantis,查看缺陷状态,关闭该缺陷

g.登录不同账号,查看缺陷的状态,发现该问题已关闭

(4)用administrator 登录mantis,导出缺陷报告,

 

八、mantis中各角色职责:

    角色               处理问题                   问题完成度     问题状态

1,报告人员    提交BUG和分派给开发人员     未处理      已分派 

2,开发人员     1)修改问题                 已修正             已解决
                2)对问题情况不明确    可选择相应问题完成度   打回
                3)放弃修改问题                  未处理               放弃

3,测试人员     1)复查后BUG已修改        已修正         关闭
  对已解决的问题 2)复查后BUG仍存在       重新打开      已分派
  对打回的问题   1)添加BUG描述             未处理         已分派
                        2)存在争议                   未处理          阻塞     
                   3)存在争议,但讨论后解决 不是问题等        关闭   

4,经理        对存在争议的问题提出修改意见,决定是否关闭。     

5,管理员     创建项目,对测试和开发人员权限和任务进行分配    

集成testlink与Mantis:

1.修改mantis.cfg.php文件,找到安装路径下的xampp\htdocs\testlink\cfg\mantis.cfg.php

 

需要修改的配置项如下:

<?php

/**

* TestLink Open Source Project -http://testlink.sourceforge.net/

* $Id: mantis.cfg.php,v 1.7 2007/03/05 18:22:04franciscom Exp $

*

* Constants used throughout TestLink are defined withinthis file

* they should be changed for your environment

*

* 20051229 - scs - added DEFINE for the DB-Type

*/

//Set the bug tracking system Interface to MANTIS 1.2.15

//also tested with MANTIS 1.2.15.a3

 

/** The DB host to use when connecting to the mantis db*/

define('BUG_TRACK_DB_HOST','localhost');

/** The name of the database that contains the mantistables */

define('BUG_TRACK_DB_NAME','bugtracker');

/** The DB type being used by mantis

values: mysql,mssql,postgres

*/

define('BUG_TRACK_DB_TYPE','mysql');

/** The DB password to use for connecting to the mantisdb */

define('BUG_TRACK_DB_USER','root');

define('BUG_TRACK_DB_PASS','');

/* link of the web server for mantis*/

/* anonymous login into mantis has to be turned on, and amantis user has to created with viewer rights to all public projects

/* Change the following in your mantis config_inc.php(replace dummy with your created user)

        # --- anonymous login -----------

         # Allowanonymous login

         $g_allow_anonymous_login = ON;

         $g_anonymous_account = 'dummy';

*/

define('BUG_TRACK_HREF',"http://localhost/mantis/view.php?id=");

/** link to the bugtracking system, for entering new bugs*/

define('BUG_TRACK_ENTER_BUG_HREF',"http://localhost/mantis/");

?>

 

2、 config.inc.php需要修改的配置项如下标黄部分

(也就是打开config.inc.php文件,查找interface就能找到$g_interface_bugs =null;这句话,把null改成'MANTIS'就行了)


0 0
原创粉丝点击