软件测试基础理论(二)

软件测试的概念与目的

  1. 正向思维(让自己相信软件是没有问题的)
    出发点: 使自己确信产品是能够正常工作的评价一个程序和系统的特性或能力,并确定它是否达到期望的结果, 软件测试就是以此为目的的任何行为.
  2. 反向思维(证明软件有错的)
    • Glenford·J·Myers (《软件测试的艺术》的作者)
    • 软件测试是为了发现错误而执行一个程序或者系统的过程
    • 测试是为了证明程序有错, 而不是证明程序无错误
    • 一个好的测试用例在于它能发现以前未发现的错误
    • 一个成功的测试是发现了以前未发现的错误的测试
  3. IEEE(国际电气和电子工程师协会)定义的测试
    • 在规定条件下运行系统或者构件的过程: 观察和记录结果,并对系统或者构件的某些方面给出评价
    • 分析软件项目的过程:检测现有状况和所需状况之间的不同,并评估软件项目的特性
  4. 广义软件测试定义
    • 软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行进行测试
      • 验证(Verification)
        • 通过检查和提供客观证据来证实指定的需求是否满足
      • 确认(Validation)
        • 通过检查和提供客观证据来证实特定目的的功能或应用是否已经实现
  5. 软件测试的目的
    • 以最少的人力,物力和时间找出软件中潜在的各种错误和缺陷, 通过修正各种错误和缺陷保障软件质量, 避免软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险.同时利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误;采用更加高效的测试管理手段,提高软件测试的效率和软件产品的质量
    • 测试需要保证以下两点:程序做了它该做的事情以及程序没有做它不该做的事
    • Ps: 一句话的记忆: 软件测试的目的是尽早的找出软件产品中潜藏的缺陷,并确保其得以修复

软件测试仅仅只是软件质量保证的重要手段之一,想要真正的提高软件产品的质量,需要通过持续不断过程,改进.

测试(test)和调试(debug)的区别

  1. 在目标, 方法和思路上有所不同
    • 调试目标: 没有错误
    • 测试目标: 确保发布的软件零缺陷(有缺陷但用户可以容忍和接受的也叫零缺陷)
    • 调试方法: 依赖工具
    • 测试方法: 可以依赖手工(例如白盒测试中的代码走查)也可以依赖工具
    • 调试对象: 代码
    • 测试对象: 软件开发过程中的文档, 数据以及代码
  2. 测试是从已知的条件开始, 使用预先定义的过程, 并且有预知的结果; 调试时从未知的条件开始, 结束的过程可能不可预计
  3. 测试可以计划, 可以预先定制测试用例和过程, 工作进度可以度量;描述调试的过程或持续时间相对比较困难
  4. 测试的对象包括软件开发过程中的文档, 数据以及代码,而调试的对象一般来说只是代码

软件的定义

  1. 程序
  2. 数据
  3. 文档

软件项目人员

  1. 项目经理:
    驱动整个项目运转, 负责制定计划, 安排人力, 管理进度, 协调团队, 进行重大决策.
  2. 架构师/系统工程师:
    技术专家, 经验丰富, 负责整个系统的体系架构的设计以及关键模块的设计
  3. 程序员/开发人员:
    设计, 编写软件, 并修复软件中的缺陷
  4. 测试工程师:
    负责找出软件产品存在的问题并报告
  5. 美术工程师:
    完成软件设计师安排的功能界面设计
  6. 产品经理(可由市场人员兼任):
    对所负责的产品进行策划和管理

QA与QC的区别:

  • QA:软件质量保证(保证软件研发过程的质量)
  • QC:软件质量控制(即软件测试)保证软件最终产物的质量

什么是软件工程

  1. 软件工程包括两个方面的内容: 软件开发技术和软件项目管理

软件的生命周期

立项 --> 需求分析 --> 设计,编码,测试 --> 发布 --> 运行维护 --> 淘汰

软件研发模型

  1. 瀑布模型
    定义阶段: 计划, 需求分析(该阶段完成后生成需求说明书)
    开发阶段: 设计, 编码, 测试(开发阶段, 设计说明书)
    维护阶段: 运行,维护
    特点: 上一阶段的变换结果是下一阶段的变换的输入, 相邻两个阶段具有因果关系, 紧密相联
  2. 快速原型
    需求的采集和细化 --> 快速设计 --> 建造原型 --> 用户评价原型 --> 对原型加工(需求精确化) --> 产品样品(需求确认)
    优点: 克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险
    缺点: 所选用的开发技术和工具不一定符合主流的发展; 快速建立起来的系统结构加上连续的修改可能会导致产品质量低下
  3. 增量模型
      1. 增量模型是把待开发的软件系统模块化, 将每个模块作为一个增量组件, 从而分批次的分析,设计,编码和测试这些增量组件.
      1. 相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性的把整个软件产品提交给用户,而是可以分批次进行提交
        优点: 将软件系统模块化,可以分批次提交产品,使用户可以及时了解软件项目的进展
  4. 迭代模型
    开发迭代是一次完整的经过所有工作流程的过程:需求分析, 设计, 实施和测试工作流程
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容