软件测试(基础理论一)摘

关于软件测试的基础理论一二三,都已经重新整理更新到了基础知识总结,跳转门:http://www.cnblogs.com/zhujiliiu

1、什么是软件

定义:计算机系统中与硬件相互依存的一部分(程序+数据+相关文档)

程序:按事先设计的功能和性能要求执行的指令序列

数据:使程序能正常操纵信息的数据结构

文档:与程序开发、维护和使用有关的图文资料

2、软件的生命周期

可行性研究和计划、需求分析、概要设计、详细设计、实现(开发阶段)、

组装测试、确认测试、使用和维护

3、什么是软件测试

定义:软件质量保证的一种手段

目的:发现错误以及避免这些错误的发生

4、软件测试的方法

1)用试题检查法

2)用新旧两个系统做平行处理检查

3)软件测试自动化工具测试

5、软件测试有哪几个阶段(任务)

1)制定测试大纲(测试计划)

2)制作测试数据(测试方案)

3)单元测试(程序测试,一般由开发人员进行)

4)功能测试/性能测试(这两个阶段重合性较大,可以归为一类)

5)集成测试(子系统测试)

6)系统测试

7)验收测试

8)测试报告

9)向下阶段提交系统运行、维护用户手册

备注:可以分为产品→开发→测试→运维

6、软件测试工作流程图

立项阶段→需求阶段→设计阶段→编码&单元测试阶段→集成测试阶段→系统测试阶段→验收测试阶段→结项总结阶段

 

7、自动化测试的优点

提高工作效率,减少人的手工劳动,节省时间和成本

8、自动化测试的过程

需求分析→测试计划→框架搭建→测试—调试测试→评估

9、自动化测试的优点

1)能执行更多更频繁的测试, 使某些测试任务执行方式更高效

2)能执行一些手动测试困难或者不能做的测试

3)任务自动化,使测试人员投入更多精力设计测试用例,提高测试准确性和人员积极性

4)具有一致和可重复性特点,更客观,提高软件信任度,仍存在一定局限

5)不能取代手工测试,不能自动化所有的测试(如只是偶尔执行测试,或需求经常变动,不稳定,或者需要大量手工参与时)

6)自动化测试工具只能执行命令,而手工可以在测试中判断测试的输入是否正确,以及改进测试,还可处理意外事件

7)对质量依赖较大,在确保质量的前提下,实施自动化才有意义

8)自动化测试需要在整个测试系统成熟稳定后,工作效率才会随着测试执行次数的增加而提高

9)自动化测试的成本可能高于手工测试

10、自动化测试技术

录制/回放、脚本技术、数据驱动(data driven)、关键字驱动(keyworddriven)、业务驱动

11、自动化测试的级别

1)捕获和回放

2)捕获、编程和回放

3)编程和回放

4)数据驱动的测试

5)使用动作词的测试自动化

12、自动化测试方案选择需要考虑的方面

1)项目的影响(能否帮助项目进度、覆盖率、风险)

2)复杂度(是否容易实现,包括数据和其他环境等)

3)时间(实现自动化需要多少时间)

4)早期需求和代码的稳定性

5)维护工作量(代码能否能长期保持相对稳定)

6)覆盖率

7)资源(是否拥有足够的人力、硬件和数据资源来运行自动化测试)

8)执行(负责执行的人员是否有足够的技能和时间去运行)

13、自动化测试的重点

1)搭建测试环境,测试场景

2)测试用例

3)测试结果的验证

4)自动化测试的流程以及执行

14、自动化测试需要解决的问题

1、工具的选择

2、测试用例脚本编写

3、测试脚本的管理

基础理论(二)

关于基础理论一二三,都已经重新整理更新到了基础知识总结,跳转门:http://www.cnblogs.com/imyalost/p/6144862.html

一、白盒测试

1、什么是白盒测试

定义:按照程序内部结构,逻辑驱动测试程序

目的:检测产品内部动作是否按照设计说明书的规范进行,检验程序的每条路径是否都

能按照预定要求进行工作

对象:源程序

用代码内部的分支,路径,条件,使程序设计的控制结构导出测试用例

2、白盒测试方法分类:

1)静态测试

2)动态测试

3.白盒测试的原则

1)保证一个模块中所有路径至少被测试一次

2)所有逻辑值都要测试真和假两种情况

3)检查程序内部的数据结构是否有效

4)检查上下边界及可操作范围内运行所有循环

4、白盒测试的类别

1)软件共用问题的测试

2)语言测试

3)sql语句测试

4)数据类型测试

5)界面测试

6)数值队形测试

7)业务对象测试

8)数据管理对象测试

 

5、白盒测试依据

1)软件需求报告

2)软件需求规格说明

3)程序设计文档

4)软件界面设计

5)编码规范

6)开发命名标准

6、白盒测试流程

1)界面对象测试流程

界面对象(UI)→业务对象(BO)→数据管理对象(DMO)→DBserver端

2)业务对象测试流程

DBserver端→数据管理对象(DMO)→业务对象(BO)→界面对象(UI)

7、白盒测试需要考虑的问题

1)尽量先用自动化工具来进行静态结构分析

2)建议先从静态测试开始,比如:静态结构分析,代码走查和静态质量度量,然后进行动态测试,比如:覆盖率测试

3)利用静态分析结果为依据,再使用代码走查和动态测试方式对静态分析结果进行进一步确认,提高效率和准确性

4)覆盖率测试是白盒测试中的重要手段,在测试报告中可作为量化指标的依据,对于重点模块,应使用多种覆盖率标准衡量代码覆盖率

5)不同测试阶段,侧重点不同

二、黑盒测试

1、定义:

数据驱动测试或者基于规格说明的测试

只检查程序功能是否按照规格说明书规定正常使用,是否能接收数据及产生正确的输出信息,并且满足数据库或者外部信息的完整性

2、黑盒测试的目的

1)是否有不正确或者遗漏的功能

2)界面是否有误

3)接口上,输入输出是否正确

4)是否有数据结构错误或者外部数据库访问错误

5)性能是否满足要求

6)初始化或者终止性错误

3、黑盒测试的优点

1)最大程度满足用户需求

2)相同动作可重复执行,枯燥部分可由机器完成

3)根据测试用例针对性的寻找问题,定位更准确,容易生成测试数据

4)测试直接和程序/系统要完成的操作相关联

4、黑盒测试的缺点

1)代码得不到测试

2)如果规格设计错误,很难发现

3)测试不能充分进行

4)结果取决于测试用例的设计

5、黑盒设计方法

1)等价类划分法

2)边界值分析法

3)因果图法

4)判定表驱动法

5)场景法

6)功能图法

7)错误推断法

8)正交试验设计法

5、策略

1)首先进行等价类划分,包括输入和输出条件,减少工作量提高效率

2)边界值分析,发现错误的能力最强

3)错误推断法,补充用例,这个凭经验

4)对照需求和业务场景逻辑,检查用例

5)如果需求说明含有输入条件,设计开始就用到因果图和判定表驱动法

6)参数配置类的软件,要用正交实验法

7)功能图法,不同时期条件的有效性来设计数据

8)业务流清晰的系统,采用场景法

6、等价类

1)将所有的可能输入数据(有效和无效)划分为若干个等价类,选取代表性的数据当做 测试用例,保证完整性和代表性

有效等价类:合理的有效的输入集合

无效等价类:无效的没有意义的输入集合,检查程序异常

2)等价类划分方法

按照区间、数值、集合、限制条件、处理方式划分

7、边界值

对输入或输出的边界值进行设计

5/7原则

 

8、因果图

简化逻辑关系,操作步骤较复杂

9、判定表驱动法

针对不同存在条件、动作关系或者因果关系的设计用例方法

4大组成部分:条件桩:条件项;动作桩,动作项

10、场景法

事件触发的情景

11、功能图法

用功能图(流程图)形象的表达操作流

12、错误推断法

基于以往的经验和出现的错误,推测软件可能存在的缺陷和错误,针对性的设计用例

13、正交实验法

从大量数据中挑选适量的有代表性的,合理设计用例

14、黑盒测试的原则

1)根据需求和规格要求,明确产品要求的正确性

2)针对性的找问题,正确定位

3)根据需求重要性确定测试等级和重点,减少缺陷

4)接口处,输入是否能正确接收,输出是否正确

5)站在用户角度思考,测试

15、测试计划

根据需求中关于功能和性能的要求设计,制定参考范围

基础理论(三)

关于基础理论一二三,都已经重新整理更新到了基础知识总结,跳转门:http://www.cnblogs.com/imyalost/p/6144862.html

一、测试用例设计方法

1、什么是测试用例

 

2、为什么要写测试用例

 

3、测试用例主要包含哪些东西

 

4、编写测试用例需要什么

 

5、设计测试用例的注意事项

从高到低,独立性,与功能一一对应,根据需求设计,由有经验的人员设计

 

6、设计测试用例的原则

有模板,正确性,代表性,可判断性,重现性,详细准确清晰的步骤,符合规范

7、用例的管理工具

 

8、用例的管理过程

编写→评审(修改→再次评审)→使用→保存管理→维护/升级

9、测试用例内容

目标的描述、环境、输入输出数据/动作、步骤、预期结果、备注等

二、单元测试实用技术

一种验证行为,程序中每一项都需要验证

1、目的

1)检查单元模块内部错误

2)测试模块内重要的路径

3)检查信息能否正确流入和流出单元

4)内部数据的完整性、数据形式、相互关系的正确性

5)数据在边界处能否正常工作

6)能否满足特点的逻辑覆盖

7)错误处理机制是否有效

2、主要任务

程序语法、逻辑检查、模块接口、数据结构、路径、边界条件、错误处理、代码书写规范

3、单元测试的自动化工具

三、功能测试实用技术

同黑盒测试技术,这里给出几个技术参考链接,都是我之前整理的东西,可以参考

Web端功能测试(一):http://www.cnblogs.com/imyalost/p/5622867.html

Web端功能测试(二):http://www.cnblogs.com/imyalost/p/5623662.html

App端功能测试:http://www.cnblogs.com/imyalost/p/5641057.html

四、集成测试实用技术

1、也称为组装测试,联合测试,主要针对软件高层设计进行测试,一般以模块和子系统为单位进行测试

2、集成测试的层次

1)模块内集成,主要测试各个接口的交互

2)子系统内集成,子系统内各个模块的交互

3)系统集成,测试系统内各个子系统和模块的交互关系

3、集成测试的本质

接口之间的关系,接口测试(灰盒测试)

五、系统测试实用技术

1、什么是系统测试

2、系统测试的目的

3、系统测试的目标

功能是否达到规格说明书要求,是否存在其他缺陷,是否有完善到缺陷记录及跟踪等

 

4、系统测试的测试类型

功能测试、性能测试、负载测试、容量测试、安全性测试、用户界面测试、配置测试、安装测试、回归测试

5、测试环境

6、常用方法

黑盒测试和自动化测试

九、验收测试

1、什么是验收测试

 

2.验收测试的标准

十、回归测试

 

1、什么是回归测试

 

2、发生在什么时候

有变更时候

3、为什么做回归测试

验证新功能,保证旧功能不被影响

4、回归自动化

六、配置测试

1、什么是配置测试

测试验证被测软件在不同软件和硬件条件中运行的情况

2、为什么要做配置测试

容错性、发现隐藏的bug,对产品的影响,最佳的配置

3、注意事项

软件版本、变更、区分优先级

时间: 2024-10-13 00:26:42

软件测试(基础理论一)摘的相关文章

软件测试基础理论知识总汇(一)

1.测试基础 2.软件测试对象和测试级别 3.系统测试类型 测试级别(也称测试类型)中,系统测试是应用最多的测试类型,系统测试类型可以细分出很多类型,以下列举核心的系统测试类型. 4.软件测试方法(系统测试方法)

软件测试基础理论整理(一)

1.什么是软件测试? 软件.网站或系统等在没有发布到用户手中之前先保证它能够 满足的一切需求,能够正常使用,保证产品到用户手中的一个质量安全保证问题.从功能.性能.安全.从各个接口.逻辑方面解决它,从不同的角度去解决这个产品到用户 手中出现的各种问题.使用人工或者自动手段来提高软件的安全和质量以及性能以及其他的一些问题,保证它的质量,保证用户体验.测试人员发现问题.跟进问题解决的过程,其目的在于检测它是否满足规定的需求或弄清预期结果与实际结果之间的差别. 2.软件测试的法则: (功能.可靠性.易

软件测试视频教程在线学习

课程观看地址:http://www.xuetuwuyou.com/course/22 课程来自学途无忧网:http://www.xuetuwuyou.com/ 课程介绍 一.课程所需软件及版本号:tomcat6.0.JDK1.6.Oracle10.TestDirector8.0 二.课程涉及知识点:软件测试基础理论.软件工程基础理论.数据库基础.java开发基础 三.课程目标: 课程设计从零基础开始,强化基础理论储备,然后理论结合实际,从小项目练习入手,由浅入深. 通过项目实战使学生掌握软件测试

2019软件测试自学必看

软件测试是一门新兴行业,平均薪酬不错,而且入门简单.需要掌握一定的开发语言基础,相关网络和数据库的基础知识,以及主要的软件测试理论.基础学习的话有人引导就会相当简单,因此建议最好找一个做测试工作的朋友指导学习效率最高. 如果是完全自学软件测试,建议安排好时间,几方面知识学习同时开始: 1.软件测试基础理论和方法.这块的东西学起来其实不多,重要的是实际的应用.主要掌握黑白盒测试.测试策略.测试方法.测试设计.测试报告等相关理论.在网上或书店随便找一份软件测试学习的书籍都够用了. 2.网络和数据库基

<软件测试>软件测试

1.软件测试基础 软件测试工程师:查找错误和缺陷,然后要求开发人员进行修改,保证软件质量. 漏洞(360安全漏洞):硬件,软件,协议的具体实现或系统安全策略存在缺陷,从而可以使攻击者在未授权的情况下破坏系统. 千年虫问题:年份存2年,超过百年会出现bug.1900→2000 开发和测试的比例:4:1→10:1 手工测试.功能自动化测试.性能自动化测试.白盒测试 1-3-5年规划:手工测试工程师,功能自动化测试工程师,性能测试工程师 需要的技术:计算机操作系统,软件开发技术.软件测试技术.自动化工

一文总结软件测试工程师面试前必背的面试题(持续更新中)

一 软件测试基础理论题 常见的测试方法有哪些? 1 从是否关心内部结构来看分为:白盒,黑盒,灰盒 黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书.一般会有一个输入值,一个输入值,和期望值做比较. 白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖.判定覆盖.条件覆盖.路径覆盖.条件组合覆盖 灰盒是一种综合测试法,它将黑盒与白盒结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执

单元测试需要具备的技能和4大阶段的学习

第一阶段: Windows操作系统及网络基础:软件测试概念.计算机层次.软件分类. 互联网概述. IP地址.虚拟机使用.操作系统安装软件测试基础理论:软件开发阶段划分,软件测试阶段划分,模型和分类.软件测试主要原则.测试用例概念. 测试方法选择. TestDirector概述.软件测试计划编写功能测试项目实践:熟悉软件需求.编写测试计划.编写测试用例. 执行测试用例.提交bug. 编写测试总结报告 第二阶段: Java程序设计:Java开发环境变量的配置, Java程序的基本结构变量.常量.基本

测试部培训计划

领导心血来潮的让写各种文档,由于没有经验,感觉像是被牵着鼻子走. 不过我还是完成了一份培训计划,虽然跟领导闹掰,但是工作归工作,该是我完成的,我还是会认真做完. 本文大部分是down下来的,稍微做了一些调整. 目录 简介... 4 1 第一阶段:软件测试理论及基础 2016.06-2016.07. 4 2 第二阶段:数据库 2016.07-2016.08. 5 3 第三阶段:QTP 功能测试工具 2016.08-2016.09. 6 4 第四阶段:性能测试工具LoadRunner 2016.09

测试开发成长学习路线-引导篇(转)

我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当然也有更多的压力. 这个问题,就像大学报考专业一样,很多人问选什么专业比较好,将来毕业就业前景好,薪水起点高.我不会争论这种思想如何不好,回到中国的一句谚语:360行,行行出状元.假如你现在是做测试,你身边同事是做开发,你们对比,肯定有伤害,是吧.会不会有一种,选择了做测试,死路一条的感觉,后悔过没

测试笔试单选题

1.在GB/T17544中,软件包质量要求包括三部分,即产品描述要求._____.程 序和数据要求.( A ) A.用户文档要求 B.系统功能要求 C.设计要求说明 D.软件配置要求 2.软件的六大质量特性包括:( B ) A.功能性.可靠性.可用性.效率.稳定性.可移植 B.功能性.可靠性.可用性.效率.可维护.可移植 C.功能性.可靠性.可扩展性.效率.稳定性.可移植 D.功能性.可靠性.兼容性.效率.稳定性.可移植 3.以下对于 ISTQB 认证描述不正确的是(   D ) A.ISTQB