软件测试-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、用于模拟多线程或者多用户的并发;

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

原文地址:https://www.cnblogs.com/b-sir/p/4420289.html