软件测试理论

测试规范 同时被 2 个专栏收录
6 篇文章 0 订阅
2 篇文章 0 订阅

一、软件测试理论

1、软件测试的方法:

黑盒:主要针对的是程序所展现给用户的功能。

白盒:主要针对的是程序代码逻辑。

灰盒:关注输出对于输入的正确性;同时也关注内部表现。

黑盒测试方法:

等价类划分法、边界值分析法、决策表法、因果图法、场景法、正交试验法、错误推测法、状态转换图法,大纲法。

白盒测试方法:

逻辑覆盖法、基本路径法、程序插装。

黑盒测试和白盒测试的区别?

黑盒针对功能,白盒针对结构;黑盒从用户角度出发,白盒是对程序内部的特定部位进行覆盖测试;测试方法不同。

按是否需要运行代码划分为:静态测试、动态测试。

按软件特性分类:功能、性能、返测、回归、冒烟、随机测试。

2、测试用例的内容:

用例编号、所属模块、标题、优先级、测试环境、前提条件、输入数据、操作步骤、预期结果、测试时间、测试版本

、测试人员、实际结果、测试结果、备注。其中(用例编号、标题、优先级、操作步骤、预期结果、测试结果)为必

须的。

3、测试用例的作用:

作为执行测试的指导,提取准备测试数据、测试脚本,作为评判的基本标准。

测试用例的用途:防止遗漏、版本重复测试、监督过程、评估结果、提高效率、缩短周期。

编写测试用例需要的资料:

需求说明书(需求人员编写)、设计说明书(开发编写、概要设计、详细设计)、原型图、同行产品、自己产品、经

验。

参考相关文档:需求文档、开发文档、用户手册、与相关人员讨论。

4、测试流程:

需求分析-编写测试计划、方案、用例-测试用例评审-修改完善测试用例-搭建测试环境-执行测试,提交bug-更新测

试环境-回归测试-编写测试报告

5、软件缺陷:

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

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

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

软件未实现产品说明书虽未明确提及但应该实现的功能;

软件难以理解、不易使用、运行缓慢,或者测试员认为不利于用户体验。

缺陷报告的组成:

缺陷编号、缺陷标题、缺陷的发现者、发现缺陷的日期、版本、所属模块、指派给谁处理、缺陷的状态、等级、优先

级、缺陷的描述。

缺陷报告的用途:

记录软件缺陷、对缺陷进行分类、跟踪软件缺陷、用于缺陷分析、总结。

软件缺陷的识别:

通过测试用例中的预期结果进行识别,通过需求规格说明书进行识别,通过和开发、需求人员、用户沟通进行识别。

写缺陷报告注意的问题:

一个报告只提交一个缺陷,缺陷描述清晰、准确、易读,使用最少、必须的步骤,保证缺陷可以再现。

缺陷报告的处理流程:

提交缺陷报告-分配-处理-返测-关闭缺陷报告

缺陷的生命周期:

new-open-fixed-返测(reopen)-closed

6、有哪些常见的操作系统?数据库管理软件有哪些?

Windows、Linux、Android、IOS;SQLserver、Oracle、MySQL

7、B/S结构和C/S结构的区别?

①硬件环境不同,C/S通常是建立在专用的网络上,小范围的网络环境。而B/S是建立在广域网上的,适应范围强,通

常有操作系统和浏览器就行;

②C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强;

③B/S结构维护升级比较简单,而C/S结构维护升级相对困难;

8、有哪些主流的浏览器?

IE、Firefox、Chrome、360、Safari、Opera

二、软件研发的流程

需求分析-项目立项-需求评审-概要与详细设计-编写程序-单元测试-集成测试-系统测试-验收测试-维护

一、需求分析

1)客户:原始需求

2)需求人员(产品经理):需求分析,需求扩展

3)测试与开发专家:和客户与需求人员一起将需求文字化(产品规划书),大概的看看逻辑的可行性,软件的可

测性

4)目的:1、了解产品 2、赚不赚钱 3、产品发展路线

二、项目立项

1、项目大概的开始与结束时间

2、确定项目经理、测试经理、开发经理、测试人员、开发人员等职位

3、项目负责人等人员安排

4、场地、设备、其他人员(文员、扫地阿姨等)

三、需求评审

1)三方评审

1、开发

2、测试:完善客户需求所出现的所有场景和结果

3、需求人员

目的:消除歧义、完善细节、完善场景结果

2)软件需求规格说明书:软件核心文档,并且会在后面的研发过程中不断的更新和升级

四、概要与详细设计

1)开发:

1、概要设计文档:系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、

数据结构设计、出错处理设计等

2、详细设计文档:模块的设计考虑、主要算法、数据结构、类的层次结构及调用关系

2)测试:

总测试计划:对所有测试人员的目标、范围、方法、资源和进度的规范等

3)需求文档:

将软件分成一个一个需求的文档。

五、编写程序

1)开发: 搭建开发环境,编写代码,完成需求雏形

2)测试:设计测试场景,编写测试用例

六、单元测试

1)开发:开发自己用白盒测试测试自己写的代码(用逻辑检验逻辑)

2)测试:搭建测试环境

七、集成测试

1)开发:主要是拉通表与表之间,系统与系统之间的数据、代码关系(一半黑盒测试,一半白盒测试,表与

表之间的数据,系统与系统之间的代码关系)

2)测试:主要是拉通表与表之间,系统与系统之间的数据、代码关系(一半黑盒测试,一半白盒测试,表与

表之间的数据,系统与系统之间的代码关系)

3)目标:利用已通过的单元测试的构件建立设计中描述的程序结构

八、系统测试

1)测试

(1)功能测试:完成需求所要求达到的功能,是测试的核心与基本

(2)兼容性测试:测试在不同系统、不同浏览器、不同环境下的兼容问题

(3)安全性测试:测试权限、链接、访问等安全问题

(4)易用性测试:测试软件的大众化,好不好用,是否体现了需求还美观了画面

(5)性能测试:测试服务器在不同的负载与压力下的各种性能指标(CPU、内存等)是否符合需求规定

(6)自动化测试:利用自动化测试工具代替手工,完成自动测试

(7)回归测试:测试开发修复bug之后的测试

(8)提交bug:提交bug问题单,与开发沟通

2)开发

(1)继续完成没有完成的编程

(2)修复bug

九、验收测试

1) 客户:检验软件是否完成需求,软件质量等

2)测试:测试完成之后,编写测试报告。内容包括软件的质量、测试的方法、测试的范围、测试的结果与缺

陷,以及以后可能出现的问题,以及改进的建议

3)开发

十、维护

三、开发测试流程理论

1、软件开发阶段划分

需求分析-概要设计-详细设计-编码

2、软件测试阶段划分

单元测试-集成测试-系统测试-验收测试

3、Alpha测试与Beta测试的区别?

Alpha测试是一种非正式验收来测试,是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际

操作环境下进行的测试。而Beta测试是一种验收测试,是软件产品完成了功能测试和系统测试之后,在产品发布之前

所进行的软件测试活动。一般在用户的应用环境下,用户通过运行和使用软件,检测与核实软件是否符合预期结果。

4、软件测试流程图(需求阶段)

需求工作培训-编写需求文档(需求说明书、系统测试方案)-需求评审-需求变更

5、软件测试流程图(设计编码阶段)

概要设计(概要设计文档-集成测试方案)-评审-详细设计(详细文档-单元测试方案)-评审-编码-单元测试-单元测

试总结(单元测试总结报告)

6、软件测试流程图(集成、系统、验收)

集成测试-测试部评估-系统测试-验收测试-产品综合测试评价-测试工作总结-测试总结文档

7、V模型包括哪些?

需求、规格说明、概要设计、详细设计、编码、单元、集成、系统、验收测试。

8、W模型流程有哪些?

用户需求--需求分析与系统设计--概要设计--详细设计--编码--单元测试--集成测试--验收测试--单元测试设计--集

成测试设计--系统测试设计--验收测试设计--集成--实施--交付

W模型是为解决V模型的缺陷而产生,增加了软件个开发阶段中应同步进行的验证的确认活动

9、W模型的优缺点?

特点:测试的对象不仅是程序,需求、设计等同样要测试,开发与测试同步

优点:可以尽早的发现错误,降低风险,减少成本,提高质量,符合尽早测试和不断测试的原则。

缺点: 1. 不能适应用户需求变化频繁的项目;

2. 需求、设计、编码等活动被视为串型的;

3. 测试和开发活动也保持这一种线性的前后关系,上一阶段完全结束,才可以正式开始下一个阶段工作

4. 无法支持敏捷开发模式;

5. 对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑;

10、什么是敏捷开发模式?

敏捷模式,敏捷开发,小版本迭代,scrumworks,task任务

每个迭代的第一个会议:评估工作量,1point点(半天)

开发自主领取任务,敏捷模式前提 认为开发测试人员都是积极主动的

开发和测试自主领取任务,一个迭代,2周时间;迭代总结会议:哪些做的好的,哪些不足

每天的站立会议:早会 不超过15分

站立会议的内容:昨天做的什么,遇到什么问题,有没有解决,需要什么帮助,今天计划做什么

11、测试人员参与的阶段:

1. 用户需求阶段:了解用户的需求目的、范围、背景、并为验收测试做准备

2. 需求分析与系统设计阶段:学习并分析需求,编写测试计划,并为系统测试做准备

3. 概要设计阶段:搭建测试用例框架,细化测试计划,并为集成测试做准备

4. 详细设计阶段:细化测试用例框架,并为单元测试做准备

5. 编码阶段:编写测试用例,并进行单元测试

6. 集成阶段:提取集成测试用例,进行集成测试,集成测试的依据:集成测试用例(从编码阶段写的测试用例中提

取)

7. 实施阶段:测试人员负责的五项工作:

a.搭建环境、b.数据准备、c.执行测试、d.缺陷管理、e.编写测试报告

8. 交付阶段:测试人员协助用户完成验视,对用户进行软件使用的指导培训

11、配置管理(Configuration Management):

概念:通过对软件生命周期不同的时间点上的软件配置进行标识,并对被标识的软件配置项的更改进行系统控制,从

而达到保证软件产品完整性和可塑性的过程。

优点: 1. 能够对项目中的文档、代码等的变化进行有效管理;

2. 能够方便的重现某个文件的历史版本;

3. 能够重新编译某个历史版本,使维护工作变得容易;

4. 能够使异地多团队开发、并行开发成为现实;

5. 从公司方面看,实行统一的配置管理流程可以提高项目组间人员流动时的工作效率;

四、测试方法选择的综合策略

1、为了测试程序的业务逻辑、业务流程、主要功能的正确性,错误处理能力,使用场景法设计测试用例。

2、需要输入数据的地方,进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。

3、使用边界值分析法补充用例。

4、可以用错误推测法追加一些测试用例。

5、对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如未达到覆盖标准或有遗漏,应继续补充用例。

6、如果程序的功能说明中含有输入条件和输出条件的组合情况,则一开始就可选因果图或判定表法。

7、对于参数配置类的软件,要考虑各个参数之间的组合情况,用正交排列法选择较少的组合达到最佳效果。

8、为了更真实模拟用户的操作流程,顺序,可以用状态转换图法来设计测试用例。

9、如果程序的模块设计多个窗口,并有相关联的操作,可用测试大纲法来设计用例。

  • 0
    点赞
  • 3
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值