一、测试
1. 测试的定义
软件测试是为了发现软件产品中的各种缺陷,而对软件产品进行验证和确认的活动过程,这是我最早接触到软件测试的定义。
后来慢慢有了更多的定义方式:
a. 用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
b. 是一种实际输出与预期输出之间的审核或者比较过程。
c. 是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。
d. 经典定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
IEEE 1983对测试的定义是:使用人工河自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际记过之间的差别。
2. 质量的定义
软件质量:软件满足规定或潜在用户需求的能力。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准‘以及所有专业开发的软件都应具有的和隐含特征相一致的程度。
外企的测试不仅仅是Test,叫做质量保证——QA(Quality Assurance)。两者之间有所差别,但是在工作中,QA包含了Test。
质量保证(QA):主要工作是通过预防,检查与改进来保证软件质量。它所关注的是软件质量的检查与测量。着眼软件开发活动中的过程、步骤及产物,而不是对软件进行剖析进而找出问题。
软件测试:测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要"执行"软件,对过程中的产物——开发文档和源代码进行走查,运行,以找出问题,报告质量。测试人员也必须假设软件存在问题,所以所做的操作都是为了找出更多的