软件测试流程总结

1、需求讨论,测试角度关注的问题:

(1)系统架构、开发方法、人员安排、实现过程、开发周期

(2)产品应用范围、面向的用户及用户人数、产品要实现的功能、使用的数据类型

(3)开发环境:开发工具版本、数据库版本、操作系统版本

(4)运行环境:硬件平台、操作系统、支撑环境(数据库版本、IE版本)、相关组件、服务

(5)安全要求:产品权限、数据库权限、部署的服务器信息、防火墙信息、要放开的端口号

(6)性能需求:系统支持的并发数量、响应时间、数据库中数据容量、占用的系统CPU、磁盘空间、传输速度、网络带宽等。

2、需求分析

(1)画出整体系统的(网络)拓扑图

(2)根据不同角色身份进行分析,画出系统流程图:用户角度、安装人员角度、维护人员角度

(3)从数据库角度进行深入分析:数据层、业务层、表现层

(4)系统包含的功能模块/子系统列表,画出各模块的流程图,各模块间的关系及衔接接口

(5)安全级别是否达标、对性能需求进行分析

3、测试准备工作

(1)环境准备:开发环境、测试环境、用户机干净环境虚拟机、复杂环境虚拟机(IE不同版本、操作系统不同版本、防火墙不同、数据库版本不同)

(2)数据准备:正式数据、不自洽数据

(3)书写测试功能点

(4)根据需求分析结果和测试功能点,制定测试策略、测试方法、测试周期、人员安排。

4、测试开始

(1)测试用例书写:根据八大测试用例方法书写:等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法、功能图分析方法、场景设计方法

(2)编写测试使用的sql语句、编写自动化测试脚本

(3)功能测试:可借助测试工具,例如:Xenu、Cookie Editor、QTP

(4)白盒测试:代码走读、静态结构分析法、逻辑覆盖法、基本路径测试法,工具:NUnit。详读w.config等配置文件,辅助理解程序整体结构,检查之前的测试点是否完善。

(5)数据库测试:数据备份与恢复测试、故障转移和恢复测试、数据迁移数据操作测试(包括不同版本数据库间的迁移、跨数据库类型迁移,例如SQL迁移到Oracle)。

(6)数据库压力测试

● 通过数据库连接数的变化,测试是否有连接泄露的现象

● 是否有数据表锁死等现象

(7)性能测试:连接速度测试、负载测试、压力测试,工具loadrunner

(8)安全性测试:建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL 注入、身份验证和授权错误、XSS攻击。可用工具:

● Paros proxy (http://www.parosproxy.org),用于截获HTTP 通信数据

● Fiddler (http://www.fiddlertool.com/fiddler),用于截获HTTP 通信数据

● TamperIE (http://www.bayden.com/dl/TamperIESetup.exe),用于修改GET 和POST

(9)兼容性测试:利用之前准备的不同环境,测试产品兼容性及支持环境

(10)安装测试:不同环境、安装过程不同选项、不同路径

(11)参数测试:书写可配置参数的意义及语法说明文档,并进行测试

5、测试结束:

(1)测试总结:bug情况、系统稳定性、使用方便度、遗留待解决改进的问题

(2)功能点测试报告

(3)性能测试报告

(4)环境要求文档:操作系统的版本(包括企业版、标准版等)、位数;数据库的版本(包括企业版、标准版等)、位数;.Framework版本;不支持的环境

(5)使用手册:系统常见故障分析及排除说明、错误信息编码说明

(6)部署文档:包含FAQ的内容以及截图

(7)维护文档:系统目录结构说明、系统启动进程说明、数据备份说明

(8)外出安装前的检查文档

6、外出安装注意事项:

(1)设计若安装出现问题的紧急预案

(2)安装前检查环境(待写一个环境检查的小工具)

(3)根据事先写的检查文档一项项打勾、安装后对每一模块进行测试验证

(4)安装结束后,将IIS、WEB.CONFING、注册表信息、日志信息、防火墙信息、安装路径、安装程序等拷贝回来,撰写文档。

 

第二篇:软件测试要点总结

前言

首先,请原谅我用标题吸引了你。这份文档是我整理的软件测试这门课的要点总结,我觉得软件测试这门课的考试要点也就在这里了,我猜测老师的考点也会在这里的。

我的计划是,打算完成这份文档里的所有问题,然后我会上传到班群。可由于我个人的时间有限,我想请大家在复习的时候能不能抽点时间完成一部分,如果大家都出一份力的话这将会很轻松的完成的。

我将会从面向对象部分开始完成文档,有兴趣的请从前面开始好吗?命名规则为:文档名+更新时间。建议大家上传到班群前,先下载最新的,整合后再上传……

正文

第一部分

什么是软件危机?软件危机如何解决?

什么是软件测试?软件测试的意义是什么?

什么是白盒测试?什么黑盒测试?请简述两者之前的区别和联系

什么是静态测试?什么是动态测试?

软件测试和软件开发过程具有怎样的关系?

什么是静态白盒测试和动态白盒测试?

白盒测试的重点及相应的对策是什么?

白盒测试的覆盖准则是什么?

白盒测试的工具有哪些?

持续集成对白盒测试有怎样的影响?

什么是静态黑盒测试?什么是动态黑盒测试?

什么是软件自动化测试?软件自动化测试的原理和方法有哪些?

软件自动化测试脚本有哪几类?各有和特点?

软件自动化测试的优势和限制是什么?

什么是性能测试?性能测试主要包括什么内容?

客户端性能测试的主要内容是什么?

网络性能测试的主要内容是什么?

服务器端性能测试的主要内容是什么?

什么是兼容性测试?主要包括哪些基本内容?

什么是向前兼容?什么是向后兼容?

数据共享兼容性主要有几种?

如何确定兼容性测试的测试用例和测试数据?

数据共享兼容性测试主要有几种?

如何确定兼容性测试的测试用例和测试数据?

兼容性测试环境的安装管理技术有哪些?各有何特点?

什么是可使用性测试?用户界面设计室一门科学还是一门艺术?

既然用户界面没有明确的对于错,应该怎样测试呢?

列举熟悉的软件产品中用户界面不一致的例子。

可用性测试是确定目标受众需求的方法有哪些? 魏胤

如何为预期目标受众确定可使用测试?

什么是安全性测试?主要包括哪些内容?

软件安全性测试方法有哪些?

什么是软件安全性分析?软件安全性分析的主要任务是什么?

为什么某些时候需要外购安全性测试?

C/S系统的特点及其对测试的影响是什么?

Web应用软件的特点及其对测试的影响是什么?

Web应用软件的测试类型有哪些?

Web应用软件的测试模型一般有哪几种?

Web应用软件的性能测试的过程是什么?

GUI软件具有怎样的特点?GUI的测试类型有哪些?

什么是实时系统?实时系统的测试步骤是什么?

第二部分

测试面向对象软件和传统软件有何不同?

答:与传统的面向过程的程序设计相比,面向对象程序设计产生错误的可能性增大,或者使得传统软件测试中的重点不再那么突出,使得原来测试经验和实践证明的次要方面成为了主要的问题。面向对象编程的特性如封装继承和多态性对测试的某些方面产生了影响.另一方面面向对象的开发过程以及分析和设计方法也对测试产生了影响有利于尽早测试.

什么是测试视角?从测试视角如何看待面向对象的基本概念?

答:测试人员必须以一种对软件的方方面面都提出疑问的态度来思考软件,这种方法称之为测试视角。

从测试视角看面向对象的基本概念:

对象:对象的封装、对象隐藏了信息、对象的状态、对象的生命周期。

消息:消息有发送者,消息有接收者,消息可能包含实际参数。

接口:接口封装了操作的说明,如果接口包含的行为和类的行为不相符,那么对这一接口的说明就不是令人满意的;接口不是孤立的,它与其他接口和有类有一定的联系。 类:

继承:

多态:

面向对象软件的测试模型是什么?

答:针对面向对象软甲的开发模型,测试模型包括:OOA Test、OOD Test、OOP Test、OO Unit Test、OO Integrate Test、OO System Test。

面向对象软件测试的层次是怎样的?

答:操作/方法,面向对象的单元测试(类测试),面向对象的集成测试,面向对象的系统测试。 取决于单元的构成,面向对象软件的测试采用三层或四层方式。面向对象测试通常采用三层方式,其中,单元测试针对类中的成员函数以及成员函数间的交互进行测试;集成测试主要对系统内部的相互服务进行测试;系统测试是基于面向对象集成测试的最后阶段的测试,主要以用户需求为测试标准。

什么是指导性审查?评价的标准和基本角色有哪些?

答:指导性审查是一种增强了的专门为检验模型而创建的检验技巧,也可以用来验证模型是否能符合项目的需求。

评价标准:需要回答三个问题,即模型是否正确?——正确性(对模型的准确程度的测量),模型对信息的描述是否完整?——完整性(对模型的包含性的测量),模型内容是否一致以及是否与它的的基础模型一致——一致性(对模型内部以及当前模型和它的基础模型之间是否存在矛盾的测量)。

基本角色:领域专家(根据特定的输入第一期望的系统),测试者(执行必要的分析已选择和设计有效的测试用例),开发者。

如何使用指导性审查的方法测试分析模型?

答:P168

如何使用指导性审查的方法测试设计模型?

答:P169

类测试的方法有哪些?类测试分为几个层次?

答:基本方法两种:静态代码检查和动态执行测试用例。对类的测试可以分两个层次进行,分别是方法内测试(用来测试单个的方法)和方法间测试(用来测试某一方法与类中别的由该方法直接或间接调用的方法间的协作情况)。

类测试需要考虑哪些方面的问题?

答:(1)测试人员、(2)测试内容、(3)测试时间、(4)测试过程、(5)测试程度

根据操作的前置条件和后置条件构造测试用例……

答:参考书上的例子

试述构建类测试驱动程序的设计思想。构造类中某个方法所对应的测试驱动程序……

答:参考书上的例子

试述分层增量测试(HIT)。

答:从基类派生得到子类时,不必为那些未改变的操作添加基于规范的测试用例,可以不加修改地复用基类的测试用例。如果测试的操作在规范和实现方面都没有任何修改,就不必运行这些测试用例。但是,如果一个操作的方法被间接修改了,就需要重新运行该操作的每个测试用例。此外,还需要运行附加的基于实现的测试用例。这样分析的应用及结果称为分层增量测试。

试述类测试的平行体系结构(PACT)的基本内容

测试抽象类有哪些方法?各有何优缺点?

(1) 为测试单独定义一个被测抽象类的具体子类。

优缺:如果不使用多重继承,抽象方法的的实现就不能轻易传递给抽象子类,但大部分的面向对象编程语言都不支持。 (2) 将它作为测试第一个具体子类的一部分进行测试 优缺:增加了测试具体类的复杂性。 (3)以对用于测试目的的抽象类的具体版本做直接实现为基础,即尝试找到一种为类编写源代码的方法从而使得该类可以作为一个抽象或具体类而很容易编译。 优缺:产生的合成代码狠复杂而且难以阅读,狠容易出错。 (4)使用指导性检查,而不使用基于执行的测试。 优缺:构造器和析构器仅仅用来使用检查来测试就会比较复杂。

什么是对象交互?对象交互的类型有哪些?

答:对象交互是一个对象对另一个对象的请求,发送者对象请求接收者对象的一个操作,而接收者进行的所有的处理工作就是完成这个请求。交互包含对象和其组成对象之间的消息,还包含了对象和与之相关联的其他对象之间的消息.

有原始类和非原始类,非原始类又依据与其他实例交互的程度分为汇集类和协作类

什么是对象交互测试?对象交互测试需要考虑什么问题?

答:当参与交互的类已经被单独测试过,且具有完整的实现时,为确保对象之间能够正确的进行消息传递的进行的测试.

1、要区分那些与被测各对象有组成关系的对象和那些仅仅与被测对象有关联的对象

2、交互测试期间所创建的聚合层数与缺陷的能见度紧密相关

3、对象越复杂,在一轮测试之前应该被集成的对象就应该越少

什么是汇集类?什么是协作类?怎样测试汇集类和协作类?

答:汇集类的说明中使用其他类的对象,但实际上并不和那些实例交互,不请求他们的任何服务,只是维护与这些类实例之间的关联。列表、堆栈都属于汇集类。

汇集类的测试:沿用12章的关于基本类的测试方法,另外基于状态的测试技术也可以应用到汇集类的测试中。

协作类是具有更广泛交互的类,不是汇集类的非原始类就是协作类。协作类在它们的一个或多个操作中使用其他的对象,并将其作为实现中的不可缺少的一部分。

协作类的测试:必须在参与交互的类的环境中进行测试,需要创建对象之间交互的环境。

会使用正交阵列测试(OATS)的方法来选择交互测试用例,并说明其中的测试用例。

答:了解下吧P219

系统测试用例的选择策略是什么?

答:1、确定用户使用系统的使用概貌,即确定用户是怎样使用系统的然后根据这些步骤创建测试用例

2、分析产品可能包含的缺陷类型,然后编写测试用例来检测这些缺陷。为了测试需求的一致性,可以从说明需求的用例来构建测试用例

系统测试的主要内容有什么?

答:功能测试:最基本的测试

性能测试:主要测试软件的运行性能

强度测试:测试系统能力的最高实际限度

安全测试:验证安装在系统内的保护机构确实能够对系统进行保护

健壮性测试:测试系统在出现故障时能否自动恢复或者忽略故障继续进行

安装卸载测试:确保用在系统中的软件包能够提供足够的安装步骤使得产品在工作条件下可以交付使用

系统测试覆盖率主要从哪两个方面进行衡量?

答:输入和输出,即测试人员能够估计测试用例使用了多少可能的输入,也可以计算在测试过程中产生了多少系统能够产生的可能输出。

测试文档主要有哪些类型?测试文档和测试计划的目标是什么?

答:测试计划、测试说明、测试报告。

目标:1、测试文档有助于测试技术任务的完成。

2、测试文档增进了测试任务和测试过程之间的交流。

3、测试文档提供了组织、安排以及管理测试项目的结构。

风险的类别和来源有哪些?降低风险的策略是什么?

类别:项目风险、商业风险、技术风险。

来源:短时间面市、新的设计过程、新技术的应用、复杂度、使用频率、不可测试的需求。

如何获得有效的测试数据?

数据词典、设计文档。

确定测试需求需要注意什么问题?

验证需求、明确需求和功能路径之间的关系。

相关推荐