一、软件测试概述
(一)什么是测试,与测试相关常见活动有哪些?
测试:与科学方法中的实验类似,是对事物状态、功能的测量和观察。通过将测量结果与已知状态或理论假设相比较,测试者得以对事物状态、功能做出判断。
质检:顾名思义是质量检验,而质量是一个企业生存的根本,没有质量,企业只是空中楼阁!
解读:药品、食品等都有专门的质检员,我国有专门的质检机构——质检总局
QC:Quality Control['kwɑːlɪtiː kən'troʊl],即质量控制、质量管理(检测产品质量的方法),在ISO9000:2005对质量管理(Quality Planning)定义是:“在质量方面指挥和控制组织的协调的活动”。
IOS质量管理体系:1987年发布了世界上第一个质量管理和质量保证系列国际标准---ISO9000系列标准;ISO 9000系列标准是国际标准化组织设立的标准,与品质管理系统有关。ISO 9000系列不仅是新创的一种品保制度,而是将一个组织正常所应该执行的工作方向,综合参考现有的管理工具做有系统的一个规划。
(二)什么是软件?
软件(英语:software)是一系列按照特定顺序组织的电脑数据和指示,是电脑中的非有形部分。
解读:现在软件的范围更广泛了,不但有电脑软件,还有手机软件、平板用的软件。通俗来说,我们下载的所有应用都叫做软件。
注意:与应用程序相关的文档也是软件的一部分
(三)什么是软件测试?
软件测试:
(1)软件测试是根据软件开发各阶段的规格说明书和程雪的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
(2)软件测试不等于程序测试。软件测试应该贯穿于软件定义与开发的整个过程。
(3)需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。
(4)软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
解读:软件测试是执行程序的过程,其目的是发现错误。
(四)软件测试的意义
l 没有不经过测试的产品,不管是专业测试人员来测试还是其它人测试
l 如果不对软件进行测试,就不知道软件是否有效
l 软件测试能显著提高用户体验(UE,即user experience)
l 通过系统的质量管理体系,优秀的软件测试工程师能够尽早地发现产品需求、原型设计、系统设计中存在的问题,为团队节省大量的时间。
(五)什么是Bug?
Bug:翻译成中文即“臭虫”,在计算机中成为漏洞、缺陷。
Bug的由来:1947年9月9日,哈佛大学测试马克II型艾肯中继器计算机,操作员在电板编号为70的中继器触点旁发现了一只飞蛾。然后操作员把飞蛾贴在计算机日志上了,并写下了“首个发现bug的实际案例”。他们提出了一个词,“debug(调试)”了机器,从而引入新术语“debugging a computer program(调试计算机程序)”。
(六)什么是测试用例?
测试用例:软件工程中的测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。确定软件程序或系统是否通过测试的方法叫做测试测试用例。
(七)什么是测试报告?
测试报告(英语:test report)就是把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。
(八)软件测试的分类
按过程划分:单元测试、集成测试、系统测试、验收测试
按对软件代码的的可见程度划分:黑盒测试、白盒测试、灰盒测试
从测试人员角度看,可分为手动测试和自动化测试。
从软件类型划分为:功能测试、性能