软件测试的定义:描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
第一、什么是测试?
1.测试是为了证明程序有错
2.一个好的测试用例:在于它能发现以前未发现的错误
3.一个成功的测试:能发现前所未有的错误的测试
第二、为什么要测试?
1.软件的非正常运行或其自身的缺陷(BUG)会引发很多问题。
2.软件是由代码和文档组成的,而这些都是由“人”来设计和编写的,人都有可能犯错。
3.环境也会影响软件,以致出现软件“失效”现象。
4.软件测试活动只是关键的质量保证活动之一
那么我们知道了测试是什么和为什么要测试,那我们就要了解要测试什么东西==》当然是测试软件。那从哪里入手呢?那么我们就要了解软件的生命周期。
软件的生命周期:一个应用程序或者系统,从无到有,然后再从有到无的一个过程就是软件的生命周期。
通常软件生命周期包括哪些阶段?
1)客户问题引入或定义:客户会提出自己的要求和问题
2)可行性分析(涉及经济(商业论证),政治,法律,技术等)
3)项目招投标
4)项目立项:设立项目,并且确定人员和资源
5)需求分析:由产品经理对接到客户的需求,并整理出需求文档,给到技术团队,并召开需求澄清会议进行需求的评审。
6)开发阶段:包含开发设计和编码,以及我们测试人员要进行的测试工作
7)维护:对交接给客户的系统或软件进行一个维护
项目的阶段包含哪些,分别输入和输出有哪些?
阶段输入输出
需求分析阶段项目组所有成员讨论SRS需求规格说明书
概要设计阶段SRS需求规格说明书概要设计说明书
详细设计阶段概要设计说明书详细设计说明书
开发编码阶段详细设计说明书项目代码包
单元测试阶段开发自测代码单元测试报告
系统集成测试阶段测试人员编写用例和测试系统集成测试报告
验收测试阶段项目组成员和客户参与验收验收测试报告
项目的流程(H模型)
因为整个流程酷似英文字母H,所以称为H模型
整个流程概括了整个项目的技术团队所需要做的事情,熟悉项目流程是必备的,因为作为测试人员,自己要知道自己的定位,已经自己介入测试的时间和测试前的准备工作。
测试的基本原则:
1.测试的标准是用户的需求
2.测试不仅仅是单纯软件本身的测试
3.软件外在没有失效不代表软件系统是可用的
4.软件没有完全正确的,测试只能帮助软件更加正确,更加接近完美
5.穷尽测试是不可能的(有些条件组合非常多,不可能一一罗列完全)
6.测试应该尽早介入,早期引入的问题占到问题的50%以上,并且早发现问题早处理的成本是最小的。
软件系统越来越复杂,一个软件不能够由单独的软件工程师单独编写,而是由团队进行配合,每个人可能只负责一个模块,对于全局没有过多的了解,这时如果运行软件就会容易产生很多的错误。并且每一个软件工程师都会有思维的死角,自己不容易发现自己编写出来的错误。所以这个时候就需要专门的软件测试工程师用专业的测试方式来检查软件。
从整体行业背景看,一方面,在中国的很多软件企业存在着重开发、轻测试的现象,造成日后的软件产品的质量问题频出,亟待解决;另一方面市场上的软件测试人员偏少,岗位缺口较大,不少企业以开发暂代测试,以作急用。软件测试人才的缺口在30万人以上
转载请注明:http://www.0431gb208.com/sjszjzl/3841.html