当前位置: 首页 > news >正文

软件测试:定义和实质

软件缺陷的定义:

  • 未实现说明书要求的功能
  • 出现了说明书指明不应出现的错误
  • 实现了说明书未提到的功能
  • 未实现说明书没有明确提出但应该实现的目标
  • 软件难以理解,不易使用,运行缓慢 或者从测试员客户会认为不好的。

软件缺陷的原因:

  1. 说明书
  2. 设计
  3. 代码
  4. 其他

软件测试的目标:

尽可能早的找到软件缺陷,并确保其得以修复。

软件测试工程师的基本素质:

  • 探索
  • 故障排除
  • 不放过蛛丝马迹
  • 创造性
  • 追求完美
  • 判断准确
  • 注重策略和外交
  • 善于说服

软件开发的过程:

  1. 客户需求->产品说明书
  2. 进度表
  3. 软件设计文档
  4. 测试文档
    1. 测试计划
    2. 测试用例
    3. 缺陷报告 bug report
    4. 测试工具和自动化
    5. 判据,统计和总结

软件开发模型:

  1. 大爆炸:简单粗暴
  2. 边写边改
  3. 瀑布模型:周期长,测试介入晚
  4. 螺旋模型(敏捷开发):分解需求,逐步实现和测试,测试介入较早。

测试的原则: 

  • 完全测试是不可能的
    • 输入量太大
    • 输出结果太多
    • 执行路径太多
    • 说明书是主观的,从旁观者来看是缺陷。
  • 软件测试是有风险的。

        因为不可能遍历所有情况,只能选择冒险。

关键思想:

把数量巨大的可能测试项减少到可以控制的范围,并针对风险做出明智的选择,那些重要,那些不重要。

  • 测试无法显示潜伏的软件缺陷
  • 找到的软件缺陷越多,说明软件缺陷越多。
  • 并非所有的软件缺陷都要修复
    • 没有足够的时间
    • 不算真正的软件缺陷
    • 修复的风险较大
    • 不值得修复

软件测试的术语

精确precise和准确accurate

准确accurate:实际1米,测出来也是1米,就是准确。一般用绝对值来表达

精确precise:实际1米,第一次测出来是1.1米,第二次1.2米,每次有偏差。一般用标准差来表达。

确认verification和验证validation

确认verification是保证软件符合产品说明书的过程

验证validation是保证软件满足用户要求的过程。

from 《软件测试》 by Ron Patton

相关文章:

  • 观望=没有!
  • 利用websocket检测网络连接稳定性
  • MySQL 清空表的数据
  • CommonLang3-使用介绍
  • SQL知识体系
  • 统一的多摄像头3D感知框架!PETRv2论文精读
  • RV1126解码模块初始化(二)
  • 图床 PicGo+GitHub+Typora的下载安装与使用
  • 开源Web主机控制面板ISPConfig配置DNS
  • Cursor 无限续杯
  • Android平台基于SmartPlayer实现多实例RTSP|RTMP播放器
  • 从WebRTC到EasyRTC:嵌入式适配的视频通话SDK实现低延迟、高稳定性音视频通信
  • 解锁Linux“故障宝藏”:Core Dump分析秘籍(转)
  • 基于微信小程序的宿舍报修管理系统设计与实现,SpringBoot(15500字)+Vue+毕业论文+指导搭建视频
  • 解锁 Python 的 * 和 **:从参数传递到容器构建的解包技巧
  • 单元测试方法的使用
  • 【Linux系统】生产者消费者模型:基于环形队列(信号量机制)
  • 网络安全入门攻击与防御实战(二)
  • for...in 遍历属性的顺序是不确定的
  • Java 大视界 -- 人才需求与培养:Java 大数据领域的职业发展路径(92)
  • 中国-拉共体论坛第四届部长级会议北京宣言
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 科创板年内第3家!健信超导IPO获受理,拟募资8.65亿
  • 电影路演,虚幻狂欢?
  • 马鞍山市原常务副市长黄化锋一审获刑11年,涉案金额三千余万元
  • 秦洪看盘|交易型资金收缩,释放短线压力