zoukankan      html  css  js  c++  java
  • 软件测试整理学习

    首发地址:——> 传送门
    ST

    定义

    • 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

    • 测试就是发现程序中的错误而执行的过程。

      给自己一个心理设定,就是要找出程序中的错误。(克服心理障碍)
      
      
      

    原则

    • 测试用例中必需部分是对预期输出或结果进行定义
    • 程序员应当避免测试自己编写的程序
    • 编写软件的组织不应当测试自己编写的软件
    • 应当彻底检查每个测试的执行结果
    • 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
    • 检查程序是否“ 未做其应该做的” 仅是测试的一半,测试的另一半是检查程序是否 “ 做了其不应该做的”
    • 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
    • 计划测试工作时不应默许假定不会发现错误
    • 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正 比

    分类

    • 是否运行程序

      • 动态测试

        通过运行软件来检验软件的动态行为和运行结果的正确性。
        
        
        
      • 静态测试

        通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性
        
    • 是否查看源码

      是否查看源码
      
      • 黑箱测试

        black-box testing,也称黑盒测试,测试应用程序的功能,测试者不需具备应用程序的代码、内部结构和编程语言的专门知识。
        
        

    数据驱动

    穷举路径测试
    ```
    - 通过有限的测试用例,最大限度的发现问题。
    - 可用性测试
    - 灰盒测试

    	```
    	多用于集成测试阶段
    	```
    - 白箱测试
    
    	```
    	white-box testing,又称透明盒测试,结构测试等。测试程序内部运作。以编程语言角度来设计测试案例。
    

    逻辑驱动型
    ```
    - 利用错误列表进行代码检查
    - 小组代码走查
    - 同行评审

    • 测试阶段
      • 单元测试

        对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性。
        
        

    测试的对象是软件设计的最小单位:函数。
    ```
    - 集成测试

    	```
    	集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。目的是检查软件单元之间的接口是否正常。
    	```
    - 系统测试
    
    	```
    	对一个完整的软件以用户的角度测试。
    	```
    - 确认测试
    
    	```
    	验证被测对象有测性
    	```
    - 安全测试
    - 回归测试
    	- QTP
    - 验收测试
    
    	```
    	验收测试的目的是确保软件准备就绪
    	```
    
    • 测试进程

      • Alpha测试

        验证测试。模拟运行。由开发人员与测试的测试人员。
        
      • Beta测试

        公众参与的测试的阶段。确认测试,在一个真实的环境中以实际的数据来运行测试,,以确认性能,系统运行有效率,系统撤消与备份作业正常。
        
      • 封闭测试Closed Beta

        公开上市前的测试过程。
        
      • 公开测试Open Beta

        又称压力测试
        
      • Gamma测试

        对“存在缺陷”产品的测试,这个概念存在着一定的不确定性。
        
    • 压力测试与性能测试

      压力测试和性能测试常常混淆。
      
      • 压力测试

        压力测试要求进行超过规定性能指标的测试。
        
        

    判断准则:
    1、系统能够恢复。
    2、压力测试过程中,不要有明显的性能下降。
    ```
    - 性能测试

    	```
    	通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
    	```
    
    • 其他
      • 探索性测试

        没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。
        

    探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
    ```
    -
    - 冒烟测试

    	```
    	检查对象是否具有可测性
    
    	```
    - 敏捷测试
    
    	```
    	利用测试记录需求和驱动开发的思想。
    

    敏捷测试思想是面向结果的、技术性的、协作的,乐于学习的、勇于不断生产业务价值的。
    ```

    对象

    • 程序
    • 数据
    • 文档

    缺陷(bug)

    • 缺陷的跟踪流程(流程基本要素)
    • 5C原则
      • 准确
      • 清晰
      • 简洁
      • 完整
      • 一致
    • 内容
      • bug编号
      • 严重级别/优先级
      • 产生条件
      • 产生模块
      • bug摘要
      • bug对应版本
      • bug详细描述,截图,录屏

    测试用例

    • 原则
      • 单个用例最小化原则
      • 测试用例替代产品文档功能原则
      • 单次投入成本和多次投入成本原则
      • 使测试结果分析和调试最简单化原则
    • 方法
      • 等价类划分
      • 边界值分析
      • 错误推测
      • 因果图
      • 判定表驱动分析
      • 正交实验设计
      • 场景设计法
      • 状态转换图
    • 内容
      • 用例编号
      • 用例描述
      • 前提条件
      • 输入数据
      • 测试步骤
      • 期望结果

    工具

    • 测试管理工具
      • TestDirector
    • 功能测试工具
    • 负载压力测试工具
      • loadrunner

        Web性能测试工具
        
        
    • 测试辅助工具
    • 白盒测试工具
  • 相关阅读:
    R语言:提取路径中的文件名字符串(basename函数)
    课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 0、学习目标
    numpy.squeeze()的用法
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 4、Logistic Regression with a Neural Network mindset
    Python numpy 中 keepdims 的含义
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 3、Python Basics with numpy (optional)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 2、编程作业常见问题与答案(Programming Assignment FAQ)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 0、学习目标
    课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)—— 0、学习目标
    windows系统numpy的下载与安装教程
  • 原文地址:https://www.cnblogs.com/zuoruining/p/ST.html
Copyright © 2011-2022 走看看