软件测试知识点总结【mooc基础教程】

第一节课  软件测试概要

1、什么是软件测试?

IEEE定义:使用人工或者自动的【手段】来运行或者测量软件系统的过程,以检验软件系统是否满足【 规定的要求 】,并找出与预期结果之间的【差异】

2、软件测试测试对象

六个:软件需求、软件概要设计、软件详细设计、软件运行环境、可运行程序、软件源代码

3、软件测试五大要素

质量 人员 资源 流程 技术

两大目标:提高测试覆盖率      提高测试效率

4、软件测试遵循的原则

  测试显示缺陷的存在,但不能系统不存在缺陷.

  穷尽测试是不可能的,应设定及时终止的条件

  测试应尽早进行(ps.后期发现Bug修复成本高).

  缺陷具备群集特性(ps.发现问题越多的模块表示越多的Bug没被发现).

  测试的杀虫剂悖论

  测试的二八原则

  测试活动依赖测试背景

 

 

 

第二节课 软件测试的分类

1、按照测试阶段分类:

  单元测试(优点:尽早发现缺陷 有利于重构 简化集成 文档  用于设计

          缺点:不能够覆盖所有路径   投入很大

          单元测试框架:Xunit  nunit CppUnit PhpUnit) 

  集成测试(技术角度测试 实施方案 :big Bang  自顶向下  自底向上 核心系统集成  高频集成)  

  系统测试 (业务角度测试  重要  关注点:系统本身的使用 系统之间的联通  系统在不同压力下的表现  在真实环境下的表现)

  验收测试(用户验收测试  运行验收测试  合同和规范验收测试 alpha测试 beta测试 )

2、按照测试手段分类

  可见度:黑盒测试  (缺点:覆盖率低,只有40%不到,复用率低,维护成本较高

            关注:是否有不正确或者遗漏的功能、正确的接受和输出结果

                数据结构或者外部访问错误、性能是否满足要求

            系统测试阶段使用黑盒测试方法比较多

           黑盒测试方法:等价类划分法 边界值分析法 错误推测法 因果图法

                  正交实验分析法 状态迁移图法 流程分析法)

      白盒测试 (优点:迫使测试人员了解软件实现原理、检测代码中的每条分支和路径、

               提示隐藏在代码中的错误、对代码的测试比较彻底

           缺点:昂贵、无法检测代码中遗漏的路径和数据敏感性错误、

              不能直接验证需求的正确性

           测试方法:代码检测法 静态结构分析法 静态质量度量法 逻辑覆盖法

                基本路径检测法)

  状态:静态测试

        动态测试

  (区别:汽车测试   发动和检测油箱)

  执行方式:手工测试

         自动化测试(单元测试、接口测试、性能测试等是自动化测试)

 按照测试类型分类:

 

性能测试:负载测试 压力测试 稳定性测试

 

安全测试:防御 

渗透测试:模拟恶意攻击

兼容性测试:软件本身的兼容  不同平台下的兼容性  软件对运行设备的兼容性 

文档测试  注意要点 完整性 正确性 一致性 易理解性 易浏览性

可靠性测试:软件可靠性 硬件可靠性

易用性测试

本地化测试

部署测试

 

 

按 软件测试模式:

软件测试模式:瀑布模型、敏捷测试、基于脚本的测试、基于风险的测试、探索性测试等

软件测试模型:V模型 W模型 X模型 H模型

敏捷测试:客户角度测试 迭代测试新功能,不强调测试阶段  尽早测试 持续反馈 预防缺陷

基于脚本的测试(SBT)

探索性测试(ET) 完全抛开测试脚本的测试 

基于风险的测试(RBT) 质量风险 管理风险 

基于模型的测试(MBT)

 

面试重点:

回归测试:

 

Monkey测试:

 

冒烟测试

 

 

A/B测试

 

 

 

总结:

 

posted @ 2018-08-19 20:43  江小-白  阅读(201)  评论(0编辑  收藏  举报