课堂笔记(五)

系 统 测 试

• 定义

System Testing--是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行使用的环境下,对计算机系统进行系列的测试活动;

• 对象

1.产品级--软件+硬件

2.项目级--软件(也可能包含硬件)

• 完备性

如何保证系统测试的完备性?

1.尽可能所有需求都有对应的Test Case;

2.依据软件的质量特性,以不同的角度,测试需求;

3.依据不同的Test Case、方法,构造不同的测试数据及处理过程;

常用测试方法

1.1 功能测试(功能)

• 定义:

function Testing--依据SRS和测试需求列表验证产品的功能是否实现和是否符合产品需求规格

• 目标:

1.是否有不正确或遗漏了的功能?

2.功能是实现是否满足用户需求,和系统设计的隐式需求?

3.输入能否正确接受?能否正确输出结果?

1.2 性能测试(效率)

• 定义:

Performance Testing--测试该软件在集成系统中的运行性能。(大多使用工具测试)

• 目标:

度量系统相对与预定义目标的差距。

• 实施:

1.性能指标定义明确。

2.构造性能测试研究数据。

3.构造不同的性能测试场景。

4.执行性能测试 (一般>90%就通过)。

5.性能分析。

6.性能故障定位。

7.性能优化。

• 依据

1.资源占用性。

2.CPU响应时间。

• 区别:

1.压力测试--不强调施压量,只检查施压的状况。

2.容量测试--强调施压,施了多少压。

3.性能测试--施压后检验性能指标是否达到规定资源使用和响应时间的要求。

1.2.1 资源方面(资源占用情况)

• CPU使用情况。

• IO使用情况。

• 内存使用情况。

• 信道使用事情。

1.2.2 时间方面(CPU响应时间)

• 每个模块执行时间百分比。

• 一个模块等待IO完成的百分比。

• 指令随时间的跟踪路径。

• 每一组指令页换入和换出的次数。

• 系统反映时间。

• 系统吞吐量,即每个单元的处理数量。

• 所有主要指令的单元执行时间。

1.3 压力测试/极限测试(可靠性)

• 定义:

Stress Testing--系统在其资源超符合的情况下表现。

• 目标:

在极限或者恶劣的环境下,系统的自我保护能力。主要验证系统的可靠性。

• 实施:

1.同一时间,大量的用户登陆。

2.引入大量的操作。

• 目的:

1.是否存在内存泄露。

2.验证系统可靠性。

3.测试后给予用户一个明确的界定。

• 区别:

1.压力测试--不强调施压量,只检查施压的状况。

2.容量测试--强调施压,施了多少压。

3.性能测试--施压后检验性能指标是否达到规定资源使用和响应时间的要求。

1.4 容量测试

• 定义:

volume Testing--使系统能够承受超额的数据容量来发现它是否能够正确处理。

• 目标:

1.测试系统容量是否满足需求规定系统容量。

2.若无规定系统容量可以通过此测试给出明确容量界定。

• 实施:

1.构造一批大容量的测试数据输入到系统。

2.对系统整体构造不同业务场景,反复执行。

• 区别:

1.压力测试--不强调施压量,只检查施压的状况。

2.容量测试--强调施压,施了多少压。

3.性能测试--施压后检验性能指标是否达到规定资源使用和响应时间的要求。

1.5 安全性测试(功能)

• 定义:

Security Testing--验证集成在系统内的保护机制能否在实际应用中保护系统不受到非法的侵入。

• 目的:

保证系统安全性,数据的完整性、保密性。

1.5.1 数据

完整性

• 数据存储的完整性。

• 数据保密的完整性。

保密性

• 数据存储的保密性。

• 数据访问的保密性。

1.5.2 权限

• 权限的分配

• 权限的使用

1.5.3 协议

多在手机测试用到。

1.5.4 其他

如LOG..

1.6 GUI测试(易用)

• 定义:

Graphical User Interface Testing--针对软件系统的界面进行的测试。

• 目标:

1.界面实现与界面设计的吻合情况。(界面设计)

2.确认界面处理的正确性。(针对不同的控件分析)

• 相关自动化测试工具

1.WinRunner

2.SilkTest

3.QaRun

1.6.1 简单界面元素

• 定义:

指功能和属性相对比较单一的界面区域,即通常所指的各种控件。

• 方法:

主要关注他们的外观、表现行为。

1.6.2 组合类界面元素

• 定义:

一些复杂的界面元素,比如表格、各种文本编辑器等。

• 方法:

先将其分解为简单的界面元素,然后再进行处理。

1.6.3 完整界面(窗口)

• 定义:

由一系列界面元素通过适当的形式组合而成的界面形式,最为常见的为各种窗口。包括各种对话框、单文档窗口、多文档窗口,多文档子窗口等。

• 方法:

外观、布局、行为。

1.输入类界面元素:与要考虑其外观、输入时的特性比如回显、对齐原则、滚动原则等内容。

2.输出类界面元素:外观。

1.7 可用性测试(易用)

• 定义:

Usability Testing--为检测用户在理解和使用系统方面到底有多好。

• 目标:

1.考虑产品是否符合实际应用情况。

2.是否符合用户习惯或特殊要求。

3.操作方式是否方便合理、设备和用户见交互信息是否准确易于理解、是否遵从行业习惯、外观/界面是否美观等。

• 一般关注的可用性问题:

1.过分复杂的功能或指令。

2.困难的安装过程。

3.错误信息过于简单。

4.用户被迫去记太多信息。

5.语法、格式和定义不一致。

1.8 安装测试

• 定义:

根据软件测试特性列表、软件安装、配置文档,设计安装过程的测试用例,发现软件在安装过程中的错误。

• 被测对象:

1.软件本身。

2.软件安装文档。

1.8.1 安装测试前要检查的工作

1.安装文档是否齐全。

2.安装软件的程序文件是否齐全。

3.被测软件的安装文件是否齐全。

4.软件的安装说明文档是否齐全。

5.检查软件的文件格式是否与安装说明文档中要求的文件格式相符。

1.8.2 安装测试过程中的工作

1.所有的预置数据是齐全。

2.软件环境配置是否合理。

3.硬件环境配置是否合理。

4.用户选择的一套任选方案是相容。¦

5.安装过程中:

A.系统提供的缺省参数值进行安装测试。

B.指定由人工完成安装过程,列出每一步安装步骤所需的工作,并仔细检查每一安装步骤所完成工作的正确性。

C.安装测试过程中要设计异常的安装测试用例,包括配置参数的异常、安装选项和安装路径的异常。

6.安装文档的测试。

1.8.3 安装后要做的检查工作

1.所有文件是否都已产生并确有所需的内容。

A.程序文件的目录是否正确产生。

B.各目录及子目录下的程序文件是否都正确产生。

C.是否存在无用的目录、子目录、程序文件以及无用的子目录。

D.目录、子目录、以及程序文件本身的权限是否正确。

E.对于Windows 还要检查与应用软件相配套的动态链接库文件齐全。

2.安装日志的检查。

3.安装完成后,要进行程序的运行,联结验证。

4.软件的卸载测试。

1.8.4 安装测试中软件的升级测试

1.软件通过重新安装来达到升级的目的。

2.通过Patch的方式实现软件的升级。

3.在线升级。

1.9 配置测试

• 定义:

系统在各种软硬件配置、不同参数配置下系统具有的功能和性能。

• 目标:

验证全部配置的可操作性,有效性。

1.10 异常测试/恢复性测试(可靠)

• 定义:

容错性测试。通过人工干预手段产生异常,能检验系统的容错、恢复能力,是系统可靠性评价的重要手段。

• 异常处理

1.系统自动处理。

2.人工干预处理。

• 注意

1.系统的异常还与系统的指标测试有关,当系统的服务能力大于系统的设计指标时,也属于系统的异常情况。

2.系统的可靠性是设计出来的,而不是测试出来的。测试出的数据有助于为我们进一步的系统优化设计积累经验,设计和测试是一个相互反馈的过程。

1.11 备份测试(可靠)

恢复性测试的一个补充,验证软件或硬件失败中备份他数据的能力。

1.12 健壮性测试(可靠)

Robustness Testing 用于测试系统在故障时,是否能够自动恢复或者忽略故障继续运行。

1.13 文档测试

Documentation Testing 测试文档的正确性,保证操作手册的过程能够正常工作。

1.14 在线帮助测试

Online Help Testing 检测时实在线帮助的可靠性和正确性。

1.15 网络测试

网络环境下和其他设备对接,进行系统功能、性能与指标方面的测试,保证对接的正确性。

1.16 稳定性测试

在一定负荷情况下能持续运行的时间。

2 系统测试测试过程

2.1 计划阶段

明确what目标、why测试目的、when可控时间、where测试范围、how如何开展.主要活动有:参与开发人员软件需求的分析,SRS评审,通过后写ST计划,进行ST计划评审。

• 入口准则:SRS完成并确定需求规格基线

• 输入:SRS|SDP|SVVP

• 出口准则:ST计划评审通过

• 输出:

2.2 设计阶段

主要活动有:组织人员依据测试计划编写测试方案,并进行系统方案的评审

• 入口准则:  ST计划评审通过

• 输入:         ST计划|SRS

• 出口准则:  ST方案评审通过

• 输出:         ST方案

2.3 实现阶段

主要活动有:组织人员依据ST方案编写测试用例、测试规程及预测试项,并对其进行评审

• 入口准则:  ST方案评审通过

• 输入:         ST计划|SRS|ST方案

• 出口准则:  测试用例、测试规程及预测试项评审通过

• 输出:         测试用例、测试规程及预测试项

2.4 执行阶段

主要活动有:组织测试执行活动、负责缺陷报告返回给开发部门修改、组织进行测试报告的编写、组织进行测试报告的评审

• 入口准则:  测试用例、测试规程及预测试项的评审通过

• 输入:         ST计划|ST方案|ST用例|ST规程|ST预测试项

• 出口准则:  ST报告评审并通过

• 输出:         ST预测试报告|ST测试报告|缺陷报告

时间: 2024-08-03 06:07:39

课堂笔记(五)的相关文章

2017年5月12号课堂笔记

2017年5月12号 星期五 空气质量:轻度污染(昨天的北风转今天的南风) 内容:html表格的基本使用,表格跨行跨列,高级表格,播放音乐,播放视频,网页布局,iframe内联框架: 文本框,密码框,单选按钮,复选框,下拉框  备注:周日晚想起来补上的周五课堂笔记(一带一路今天开会天气好晴朗) 一.html表格的基本使用 模仿老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset=&q

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(一)

前两天微博上转出来的,复旦计算机学院的吴立德吴老师在开?统计学习精要(The Elements of Statistical Learning)?这门课,还在张江...大牛的课怎能错过,果断请假去蹭课...为了减轻心理压力,还拉了一帮同事一起去听,eBay浩浩荡荡的十几人杀过去好不壮观!总感觉我们的人有超过复旦本身学生的阵势,五六十人的教室坐的满满当当,壮观啊. 这本书正好前阵子一直在看,所以才会屁颠屁颠的跑过去听.确实是一本深入浅出讲data mining models的好书.作者网站上提供免

线程(java课堂笔记)

1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同份资源不共享 B implements Runnable:( 推荐) )多个线程共享一个目标资源,适合多线程处理同一份资源. 该类还可以继承其他类,也可以实现其他接口. 二. 线程的生命周期 新建:当程序使用new创建一个线程后,该线程处于新建状态,此时他和其他java对象一样,仅仅由Java虚拟机

CSS基础入门 第4天课堂笔记

CSS基础入门 第4天课堂笔记(本课程共6天) 前端与移动开发学院 http://web.itcast.cn 目录 目录 2 一.复习 3 二.浮动性质的复习 4 三.浮动的清除 5 3.1 清除浮动方法1:给浮动的元素的祖先元素加高度. 5 3.2 清除浮动方法2:clear:both; 6 3.3 清除浮动方法3:隔墙法 7 3.4 清除浮动方法4:overflow:hidden; 8 3.5 清除浮动总结与案例 9 3.6 浏览器兼容问题 11 四.margin 13 4.1 margin

JAVA的面向对象编程--------课堂笔记

JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么(方法):告诉外界对象有那些功能. 后者以前者为基础. 大的对象的属性也可以是一个对象.   为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律. 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节. 方法的定义非常重要.方法有参

2017年5月26日课堂笔记

2017年5月26日 星期五 晴 空气质量:中度污染 内容:JavaScript:初识js,按钮的点击事件,变量的使用,数据类型,typeof的使用, string的使用,数组的使用,运算符的运用,逻辑控制语句的使用 备注:5月28日补课堂笔记 一.初识js 老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>初

2017年5月29号课堂笔记

2017年5月29号 阴天 空气质量:良 内容:JavaScript基础:输入输出及确认,统计字符出现的次数,系统函数,自定义函数, 自定义函数和事件的连用,四则运算小练习,方法的作用域 JavaScriptBOM对象(下次课堂笔记再补上,一起记录)history,location,open,document 一.输入输出及确认 仿写老师代码: <!DOCTYPE html><html><head lang="en"> <meta charse

2018-05-18课堂笔记

2018-05-18课堂笔记 目录 一.用户配置文件和密码配置文件 二.用户组管理 三.用户管理 四.usermod命令 五.用户密码管理 六.mkpasswd命令 七.su命令 八.sudo命令 九.限制root远程登录 一.用户配置文件和密码配置文件 1.用户文件/etc/passwd [[email protected] ~]# head -n 5 /etc/passwd //从/etc/passwd文件可以看到,第一行都包括7个字段,第个字段间用":"分隔 //格式 用户名:密

Caliburn.Micro学习笔记(五)----协同IResult

Caliburn.Micro学习笔记(五)----协同IResult 今天说一下协同IResult 看一下IResult接口 /// <summary> /// Allows custom code to execute after the return of a action. /// </summary> public interface IResult { /// <summary> /// Executes the result using the specif

九章算法系列(#2 Binary Search)-课堂笔记

前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一节课,说真的很实用,特别是对于我这种算法不扎实,并且又想找工作,提高自己的情况. 那就不多说废话了,以后每周都写个总结吧,就趁着这一个月好好把算法提高一下.具体就从:课堂笔记.leetcode和lintcode相关习题.hdu和poj相关习题三个方面来写吧.希望自己能够坚持下来,给大家分享一些好的东