软件测试基础(1)

软件测试的定义

经典定义:测试是为了发现程序错误而执行的过程。
IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。

软件测试的对象

  1. 软件需求
  2. 软件概要设计
  3. 软件详细设计
  4. 软件运行环境
  5. 可执行程序
  6. 软件源代码

软件测试所遵循的原则

  1. 测试显示缺陷的存在,但不能证明系统不存在缺陷
  2. 穷尽测试是不可能的,应即使设定终止的条件
  3. 软件测试应尽早启动、尽早介入
  4. 缺陷具备集群特性
  5. 不使用相同的测试用例多次测试同一模块,不定期修改增加不同用例
  6. 将80%的资源用在20%的重要模块中
  7. 测试活动依赖于测试背景

软件测试的分类

按测试阶段分类:
  1. 单元测试:对软件中的最小可测试单元进行检查和验证。
  • 原则: 尽可能保证每个测试用例是相互独立的;一般由代码的开发人员来实施,用以检验所开发的代码功能复合自己的设计要求
  • 好处: 能尽早发现缺陷;有利于重构;简化集成测试;减少文档;用于设计,体现设计思路
  • 限制:不可能覆盖到所有的执行路径;每一行代码需要3-5行测试代码,需要投入产出平衡
  1. 集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中,各部分工作是否达到或实现相应技术指标及要求的活动。
  • 主要实施方案:一次全部集成;从控制层到最低层;从最低层到控制层;核心系统集成;高频集成,持续集成
  • 和单元测试不同:测试的对象不同;测试的依据不同,详细设计与概要设计;测试的方法不同
  1. 系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
  • 关注点:关注系统本身的使用;关注系统与其他系统间的连通;关注系统在不同使用压力下的表现;关注系统在真实使用环境下的表现
  • 与集成测试不同:测试对象不同,系统测试包括硬件和周边软件等;测试时间不同;测试内容不同;测试角度不同,集成为技术,系统为业务
  1. 验收测试:也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
  • 细分 :用户验收测试;运行验收测试;合同和规范验收测试;Alpha测试(开发者提供环境,用户进行测试);Beta测试(用户环境)
按测试手段分类:

黑盒测试:在不考虑程序内部结构的情况下,对暴露出的接口进行测试。程序能够接受适当的输入数据并得到相应的输出数据。(主要用于系统测试阶段)

  • 优点:容易实施,不考虑内部实现;更贴近用户的使用角度
  • 缺点:测试覆盖率较低;针对黑盒的自动化测试,复用率较低,维护成本较高
  • 关注: 是否有不正确或遗漏的功能;是否能正确地接受输入,并产生正确的输出;是否有数据结构错误或外部信息访问错误;是否满足性能要求
  • 设计方法:等价类划分法;边界值分析法;错误推测法;因果图法;正交试验分析法;状态迁移图法;流程分析法

白盒测试:对内部结构了解,内部逻辑透明,用逻辑覆盖构成测试。逻辑是指:语句、条件、条件组合、分支、路径,这些方面都要覆盖

  • 优点:理解系统原理;检测到每条分支和路径;揭示隐藏在代码中的错误;对代码测试比较彻底
  • 缺点:工作量大,成本高;无法检测遗漏的路径;不能直接验证需求是否满足
  • 主要方法:代码检测法;静态结构分析法;静态质量度量法;逻辑覆盖法;基本路径测试法

静态测试:无需执行被测程序,评审软件文档或代码。从不正式到正式分为三个阶段:互审、走查、会议

动态测试:通过运行被测程序,检查运行结果和预期结果的差异,分析运行效率、正确性、健壮性

手工测试:专门的测试人员从用户视角来验证软件是否满足设计要求

  • 优点:易发现缺陷;容易实施;创造性、灵活性
  • 缺点:覆盖量化难;重复测试效率低;不一致性、可靠性低;人力资源依赖

自动化测试:使用单独的测试软件工具控制测试的自动化执行以及对于预期和结果进行自动检查

  • 优点:高效率、速度快;高复用率;覆盖率容易度量;准确可靠;不知疲劳;
  • 缺点:机械、发现缺陷效率低;一次性投入较大

IMOOC学习网站

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

推荐阅读更多精彩内容

  • 一、 软件测试基本概念 1 bug的概念 bug类型:defect、fault、problem、error… pr...
    三口一个瓜阅读 3,665评论 0 12
  • 什么是软件测试 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程...
    CT9955阅读 6,196评论 2 21
  • 1****、问:你在测试中发现了一个bug****,但是开发经理认为这不是一个bug****,你应该怎样解决?首先...
    一箭阅读 9,072评论 1 205
  • 一、开发模型—瀑布模型1、优点:开发阶段,各个阶段比较清晰;强调早期计划及需求调查;适合稳定需求的产品开发。2、改...
    荆妮妮阅读 158评论 0 0
  • 前言 本文章为软件测试基础-概念篇课程的笔记记录。 1-1 软件测试概要 什么是软件测试? 早期定义:软件测试是对...
    kurio_liu阅读 1,896评论 2 17