10分钟通读《软件测试》理论

计算机行业流行一个笑话: 有三样东西在制造过程中是永远看不见的, 它们是 法律, 香肠和软件 !

软件测试工程师

工作的职责:

  • 尽可能早一些找出软件缺陷, 并确保它得以修复

软件周期和所处的阶段

  • 构思
  • 分析
  • 设计
  • 开发
  • 测试
  • 最终产品
  • 维护

岗位要求(应具备的素质)

  • 他们是探索者
  • 他们是故障排除员
  • 他们不放过任何蛛丝马迹
  • 他们是追求完美主义者
  • 他们判断准确
  • 他们注重策略和外交
  • 他们善于说服
  • 他们受过软件编程方面的教育

什么是软件测试

  • 软件测试是一项批判性的工作

软件测试应该在项目什么阶段开始介入

  • 设计阶段

需求和Bug

什么是Bug

  • Bug即软件缺陷, 源自Mark Ⅱ

Bug的状态

  • 新的(New)
  • 已指派(Assigned)
  • 打开(Open)
  • 已修复(Fixed)
  • 待测试(Pending Reset)
  • 再测试(Reset)
  • 关闭(Closed)
  • 再打开(Reopen)
  • 拒绝中(Pending Reject)
  • 被拒绝( Rejected)
  • 延期 (Postponed)
  • 延期中 (Deferred)

测试报告, 描述软件缺陷的基本准则

  • 一致性
  • 唯一性

需求规格说明书

  • 完整
  • 准确
  • 精确, 不含糊, 清晰
  • 一致
  • 贴切
  • 合理
  • 代码无关
  • 可测试性

一个良好的需求应当具备哪些特征

  • 需求明确, 有确切的图文说明
  • 当前技术下, 需求可以实现
  • 功能实用, 与主功能模块不冲突

作为测试工程师, 如果你发现需求一直在变化, 怎么办

  • 通过与产品经理沟通, 稳定产品需求
  • 优先测试需求稳定的功能模块
  • 对需求变化频繁的功能部分, 编写通用性较好的测试用例

软件测试的现实挑战

测试的挑战性, 正确理解测试

  • 完全测试程序是不可能的
  • 软件测试是有风险的行为
  • 测试无法显示潜伏的软件缺陷
  • 并非所有的软件缺陷都需要修复
  • 产品说明书从没有最终版本
  • 软件测试员在产品小组中不受欢迎
  • 不存在没有缺陷的软件
  • 软件测试是一项讲究条理的技术专业

各种不同类型测试的定义及区别

  • 黑盒测试: 无需了解 软件内部代码结构, 重视功能, 不关注具体的实现方式
  • 白盒测试: 必须了解 软件内部代码结构, 重视实现的逻辑, 耗时更长, 无法考虑到所有情况
  • 静态测试: 不运行代码
  • 动态测试: 运行代码

你发现了一个缺陷, 但开发人员认为不是, 你如何处理

  • 主动与开发人员沟通, 讲明缘由
  • 向测试经理反应情况
  • 即时跟进bug的修改状态
  • 如果不是特别紧急的bug, 而产品急于上线, 可以先对bug进行记录, 在下一迭代周期提出bug

静态黑盒测试

需求规格说明书(spec)是什么?

  • 需求规格说明书展现了软件功能的雏形
  • 开发人员可以按照说明书, 有效制定自己的开发计划
  • 让用户了解将要开发软件的功能是什么,如果用户有不满意的地方,可以快速改进
  • 需求规格说明书不包括具体的编码要求,也不包括软件的具体功能操作步骤

静态黑盒测试需要耐心阅读文档, 具有想象力


动态黑盒测试

测试流程

  • 建立状态转换图
  • 减少要测试的状态及转换的数量
  • 定义测试用例
  • 执行重复, 压迫, 重负测试

测试工程师与测试经理的区别

  • 测试工程师侧重进行具体测试任务的执行
  • 测试经理侧重进行测试任务的调配

等价划分法

  • 等价类划分是指把分步骤把海量(无限)的测试用例, 缩减的很小, 但过程同样有效

如果能够执行完美的黑盒测试, 那还需要白盒测试吗?

  • 依然需要执行白盒测试, 因为结果正确, 不能表软件程序没有问题, 有可能是错误的程序得出了正确的结果

静态白盒测试

代码检查的流程和要求

  • 同事审查
  • 走查
  • 检验

代码检查的具体方法

  • 检测数据引用
  • 检测数据声明
  • 检测计算错误
  • 检测比较错误
  • 检测控制流程错误
  • 检测子程序参数错误
  • 检测输入输出错误
  • 其他检查(是否使用外语, 是否考虑移植, 兼容性)

代码检测对提高软件质量的积极作用

  • 尽早发现软件缺陷
  • 规范编码风格
  • 减少不必要的bug

静态白盒测试和软件开发调试有什么区别?

  • 静态白盒测试: 测试人员根据软件程序,寻找软件缺陷
  • 软件开发调试: 开发人员在开发过程中的操作

动态白盒测试

单元测试及集成测试的区别

  • 单元测试是从单元模块进行测试, 自底向上
  • 集成测试是从软件整体进行测试, 自顶向下

jUnit

  • jUnit是常用的Java语言测试框架

配置测试与兼容性测试

概念

  • 配置测试是指使用各种硬件来测试软件运行的过程

配置测试和兼容性测试主要的工作内容

  • 配置测试:
  1. 确定所需的硬件类型
  2. 确定用哪些厂商的硬件, 型号和驱动程序可用
  3. 确定可能的硬件特此, 模式和选项
  4. 将确定后的硬件配置缩减为可控制的范围
  5. 明确与硬件配置有关的软件的唯一性特征
  6. 设计在每一种配置中执行的测试用例
  7. 在每种配置中执行测试
  8. 反复测试直到小组对结果满意为止
  • 兼容性测试:
  1. 向后和向前兼容
  2. 测试多个版本的影响
  3. 测试高级和低级标准规范
  4. 数据共享兼容性

向上兼容和向下兼容的区别

  • 向上(向前)兼容是指可以使用软件未来的版本
  • 向下(向后)兼容是指可以使用软件以前的版本

工作量为什么会倍增

  • 客观来讲, 每个模块都有多个选项, 而这些选项的排列组合, 会上涨多个数量级
  • 只是单纯的软件本地化操作, 就要语言,文化, 内容, 数据格式, 数据兼容性等繁杂问题

外国语言测试

软件测试工程师不懂外语, 为什么还要参与外国语言版本的软件测试

  • 懂各国语言的专家, 不一定了解软测试
  • 测试工程师需要与语言专家配合共同完成测试

易用性测试和安全测试

基本概念

  • 易用性测试: 易用性测试是指让用户使用软件时是否方便
  • 应符合的标准规范: 直观, 一致, 灵活, 舒适, 正确, 实用

软件质量管理和CMM

基本概念

  • 检查和评价当前软件开发的过程, 找出改进的方法, 以达到防止软件缺陷出现的目标

SQA是什么

  • 软件质量保证

CMM是什么? 五个级别的基本定义?

能力成熟度模型(CMM)是一个行业标准, 用于定义和评价软件公司开发过程的成熟度, 提供怎样做才能提高软件质量的指导

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

推荐阅读更多精彩内容