软件测试

1、测试目的

发现问题、评估软件系统质量

2、软件缺陷

缺陷:未实现需求、功能错误、功能超出说明书范围、未达到目标、软件使用不便、难以理解、运行速度缓慢

缺陷来源:需求有误差、需求文档有歧义、编码、其他

3、软件测试对象:

程序、文件、数据

程序功能正确、性能良好

用户手册、运维等清晰可读、排版正确

数据配置正确、符合国家规范

4、软件测试过程模型

4.1 V模型

V模型

V模型是软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为。V模型的策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。

模型缺陷:测试时间长,问题发现慢

4.2 W模型

W模型

开发与测试并行,但不支持迭代

4.3 X模型

对片段进行测试,不停的交接集成测试。探索性测试可能发现意想不到的错误但是对测试人员要求较高。

X模型

4.4 H模型

将测试活动从开发流程完全独立出来,使测试流程形成一个完全独立的流程,将测试准备活动与测试执行活动清晰地体现出来。只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。软件测试是一个独立的流程,贯穿于产品的整个生命周期,与其他流程并发的进行。软件测试原则“尽早准备,尽早执行”;强调测试是独立的,只要测试准备完成,就可以执行测试。

4.5 前置测试模型

前置测试模型将开发和测试的声明周期整合在一起,表示了项目声明周期从开始到结束之间的关键行为。它对每一个交付内容进行测试,在设计阶段进行测试计划和测试设计,让验收测试和技术测试保持相互独立。总之,它是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使你的项目加快速度。

5、软件测试生命周期

5.1 测试计划:测试范围、测试策略、用例选择、结果判定、人员安排。——测试计划文档

5.2 测试分析:了解相应文档

5.3 测试用例设计:黑盒、白盒——测试用例文档

5.4 测试执行:执行用例——测试缺陷报告

5.5 测试评估:评价测试——测试报告文档

6、测试方法

6.1 是否执行软件:静态分析(不需运行)、动态测试。ex:打开网页运行,动态。打开代码,查看代码问题,静态。

6.2 是否内部

黑盒(IN - OUT),不需要查看内部,关注输入输出,又称为功能数据驱动

白盒:程序内部逻辑结构

灰盒:部分内部、部分输入输出

黑盒测试要求低,可较好模拟用户。白盒测试需要良好代码基础。

6.3 阶段和作用

单元测试:编码结束,函数

集成测试:各模块调用,参数传递

系统:需求实现

验收:用户接收

6.4 测试目的

功能、性能、安全(日趋恶劣,防止恶意攻击)、兼容性(浏览器兼容)

6.5 常见概念

回归测试:修改后代码测试、之前问题是否改正,且无新问题

冒烟测试:硬件,电路板是否良好。软件,基本功能测试,基本有问题驳回测试申请

α测试:用户在开发环境测试

β测试:测试发布后,用户在用户环境运行测试。比如各软件测试版。

7、测试原则

尽早、不断地测试,尽早发现问题,修改代价小

尽量避免测试自己程序

80/20原则 80%的缺陷在20%模板中,发现错误较多时,加大测试

用例由输入和预期的输出结果组成

程序修改后回归测试

穷举测试不可能实现

8、黑盒测试技术

被测系统为黑盒子,不需要了解内部,关注输入输出

发现错误:

功能不正确、遗漏

界面问题

数据库访问、加载

性能错误

初始化和终止错误

以用户角度

测试过程

测试计划:测试范围、测试策略、测试进度安排。——测试计划文档

测试分析:了解相应文档

测试用例设计:黑盒(饱和测试数据及预期结果)——测试用例文档

良好的测试用例可以缩短测试实施时间、确保测试的系统性全面性、提高测试的可复用性

测试执行:执行用例(先冒烟测试,再使用设计的测试用例)——测试缺陷报告

测试评估:对测试过程结果进行总结——测试报告文档

9、黑盒测试用例设计方法

9.1 等价类划分法

将输入数据分为若干子集,选子集中的代表测试。需要考虑有效和无效等价类。

9.2 边界值法

与等价类配套使用。

9.3 判定表驱动法

用于功能逻辑条件复杂时

条件桩:条件1、条件2、条件3

动作桩:动作1、动作2、动作3

步骤:确定规则的个数,条件数为n,规则为2**n;列出所有的条件桩和动作桩;填入条件项;填入动作项。

9.4 因果图法

从程序规格说明中找出因(条件)和果(结果),分析因果关系,以及因因、果果之间的约束关系、绘制因果图;通过因果图转为判定表;将判定表中不符合约束条件的规则去除;将判定表简化,将每一个规则转化为一个测试用例。

因果关系:恒等、非、或()、与(^)

约束关系:E异约束(A、B不能同时满足)、F或约束(条件至少一个成立)、O唯一约束(有且仅有一个成立)、R要求约束(A的成立一定需要B的成立)、M屏蔽约束(A成立B一定不能成立)

9.5 正交法

应用于配置文件与界面测试。关键是选择合适的正交表。

选取步骤:分析影响测试项的因素;分析每个因素的取值方式;设计或选择合适的正交表;把正交表的元素转换为因素的实际取值,每行转换为一个测试用例。

正交试验:L 4 (2^3)  、任何一列,不同数字出现次数一致;任何两列,数字排列齐全且均衡

L: 代表正交表。4:表行的数目(需要试验的次数)。2:因子的水平数(单个因素最大取值个数)。3:表列的数目(影响因素个数)。

常用正交表

9.6 场景法

用于测试业务流程。用户使用按照流程、业务流程中的功能点相互联系、相互影响。

时间触发不同形成不同场景,事件流分为基本流和备选流,使用时尽可能的将基本流备选流组合。

10、白盒测试基础

要求测试人员良好编码基础、成本较高

白盒又称逻辑驱动测试,主要测试代码,及逻辑。

11、白盒测试方法

11.1 逻辑覆盖法

考虑测试数据对逻辑的覆盖

选择覆盖标准、按照标准列出所有情况、选择测试用例。

覆盖标准:(从弱到强)

语句:若干测试用例,使每个语句被覆盖一次

判定:使真分支、假分支都走一次

条件(与判定并列):使每个逻辑条件取值至少执行一次

判定条件:既满足判定又满足条件

条件组合:把所有条件取值都列出来

11.2 基本路径法

在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。

步骤:导出控制流图、计算圈复杂度、确立独立路径、设计测试用例

控制流图:顺序、选择、循环、case

圈复杂度计算:V=m-n+2,m为边的数量、n为结点数量。控制流图把平面划成几个区域

12、自动化测试

优点:节约人力、可长时间工作

缺点:重复繁琐的才可能需要自动化、自动化测试的重点在回归测试上、不稳定时不需要自动化

什么情况需要:接口单元易于自动化、项目周期长、需求变动频繁、自动化测试用例会被反复使用、压力测试

不需要:周期短、人体感官和易用性、不稳定软件、涉及物理交互

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 9,187评论 2 126
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 21,926评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,704评论 5 100
  • -----转载----- 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? ...
    花开沉浮阅读 7,340评论 4 88
  • 本着共享主义,本人将PPT考点梳理出来,并且已经翻译成中文,供大家参考,欢迎各位指导! 本次考试题型分为选择、判断...
    Moonsmile阅读 4,130评论 13 28