软件测试与质量保证简答题
软件测试是为了发现错误而执行程序的过程。它是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的目的主要是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正这些错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的商业风险。
在软件测试中,白盒测试和黑盒测试是两种常用的测试方法。白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。黑盒测试则是不知道产品内部工作过程的测试方法,它是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
软件测试的缺陷等级可以划分为致命错误、严重错误、一般错误和建议问题等。其中,致命错误可能导致本模块以及其他相关模块异常,死机等问题;严重错误问题局限在本模块,导致模块功能失效或异常退出;一般错误模块功能部分失效;建议问题由问题提出人对测试对象的改进意见。
软件测试可以划分为几个阶段,包括单元测试、集成测试、系统测试、验收测试等。单元测试是对软件中的基本组成单位进行的测试,主要用白盒测试方法。集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求。验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。
在软件测试中,还需要对缺陷采取管理措施。包括引入缺陷管理工具,根据缺陷的生命周期,考虑缺陷提交的管理、缺陷状态的管理和缺陷分析的管理等。
软件测试是软件开发过程中非常重要的一步,它可以帮助我们发现软件中的错误和缺陷,提高软件质量,避免软件发布后产生的商业风险。