zoukankan      html  css  js  c++  java
  • 软件测试-5 软件测试总结

    一、概述

    软件测试的开始与软件开发生命周期的开始是同时的,即软件测试伴随着整个软件开发生命周期。在软件开发的生命周期中,我们可能用到各种软件测试的方法,而且现在软件测试的工具和方法非常多,现在回想起来可能已经十分混乱,所以我希望能从新整理一遍软件测试的方法:

    二、软件测试方法

    2.1 黑盒/白盒

    刚学软件测试就学的是这个,把软件测试分为两类:

    测试名称 描述
    黑盒测试 Black Box 把软件看做一个黑盒,不清楚里面的结构,从功能上做测试
    白盒测试 white Box 已知软件内部的结构,根据内部结构来做测试

    个人感觉黑盒测试比较简单,而白盒测试明显对测试人员的要求较高。

    2.2 手动/自动

    测试名称 描述
    手动测试 Manual Test  
    自动化测试 AutoMation  

    手动测试优点很明显:灵活、全面、技术含量低,但缺点也同样:工作量大、大量重复、容易让人抓狂、容易出错。

    自动化测试优点:快速高效。缺点:不够灵活。

    我们最近使用的Visual Studio就可以用来进行自动化测试,最近试了一下其UI测试,很不错。

    VS的UI测试是要模拟鼠标输入、键盘输入,然后自动重复。这样就可以在改动程序后自动对其进行大量重复的测试。

    2.3 功能测试

    测试名称

    测试内容

    单元测试 Unit Test 

    在最低的功能/参数上验证程序的准确性,比如测试一个函数的正确性

    功能测试 Functional Test 

    验证模块的功能 

    集成测试 Integration Test

    验证几个互相有依赖关系的模块的功能 

    场景测试 Scenario Test

    验证几个模块是否能完成一个用户场景

    系统测试 System Test

    对于整个系统功能的测试

    Alpha测试 

    软件测试人员在真实用户环境中对软件进行全面的测试

    Beta测试 

    真实的用户在真实的用户环境中进行的测试, 也叫公测

    其中单元测试是开发人员做的,Beta测试是用户参与的。其他都是测试人员应该做的。

    2.4 其他

    回归测试 Regression Test:指对于软件的一个新的版本,重新用以往的测试用例测试看看,看看新版本是否存在问题。

    这个回归测试很明显的体现出了自动化测试的重要性,如果用了自动化测试工具,我们很简单的就可以在短时间内做大量的测试,比如说Visual Studio的UI测试,我们甚至不需要重新录制操作顺序就可以直接做测试了。

    探索性测试 Ad hoc Test:随机进行的,探索性的测试。

    就是抛开测试用例,按照自己的思路随便点点,按照自己的想法又是也会发现很多BUG的。

    三、最后谈谈自动化测试的重要性

    1、自动化测试可以模拟人工测试,减少重复机械的测试工作量(大量用于回归测试);
    2、可以提高测试精度,例如进行大数据量的正确性校验;
    3、进行人工难以执行的测试,例如单元测试、统计测试覆盖率等等;
    4、用于模拟多线程或者多用户的并发;

    自动化测试是非常有必要的,否侧测试人员就不得不一遍又一遍的测试了。

  • 相关阅读:
    [斜率优化][DP]luogu P3648 序列分割
    [状压DP]luogu P1879 玉米田
    [最短路][期望DP]luogu P1850 换教室
    [DP]JZOJ 3046 游戏
    [组合数学]JZOJ 3013 填充棋盘
    [贪心]JZOJ 3012 购买
    [最大流][二分]JZOJ 1259 牛棚
    [数学][构造]JZOJ 3317 管道
    Cookie和Session
    XSS和CSRF的理解
  • 原文地址:https://www.cnblogs.com/b-sir/p/4420289.html
Copyright © 2011-2022 走看看