1.什么是软件缺陷?软件缺陷的产生对软件有什么影响?

软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、误差等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。

(1)千年虫问题(产生约1974年) (2)爱国者导弹防御系统(1991年) (3)英特尔奔腾浮点除法缺陷(1994年) (4)“冲击波”病毒(2003年) (5)诺基亚手机平台缺陷(2008年)


2.什么是软件测试?软件测试的基本原则是什么?

软件测试是为了发现错误而针对某个程序或系统的执行过程。 用尽一切可能的方法或工具,查找软件中潜藏的错误和缺陷,保证软件产品的质量符合预期需求,并进而为产品发布树立(质量)可靠信心的一种手段。

(1)测试是为了证明程序有错,而不是证明程序无错误; (2)一个好的测试用例是在于它能发现至今未发现的错误; (3)一个成功的测试是发现了至今未发现的错误的测试。


3.什么是软件测试用例?良好的测试用例应该具有什么样的特性?

测试用例是一组测试输入、执行条件和预期结果的集合,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求。

软件测试设计的关键问题可以概括为5W1H: Why:为什么测试?对功能、性能、可用性、容错性、安全性等测试,检验是否符合相关要求。 What:测什么?测试的对象可以是文档,代码,图表等。 Where:在哪里测?测试用例的环境,包括系统的硬件、软件和网络环境等。 When:什么时候测?测试用例所需的前提条件,尽早开始。 Which:什么数据?测试用例设计的各种数据。 How:如何执行?结果怎样?要据测试用例设计的步骤来执行,最后进行结果比较,确定是否一致。若一致才能通过测试。


4.怎样搭建软件测试环境?对软件测试人员有什么要求?

(1)机房环境的建立 (2)硬件环境的建立 (3)软件环境的建立 (4)网络环境的建立 (5)安全措施的实施

测试人员的角色主要有四类: (1)测试经理:主要负责测试队伍的内部管理以及与外部人员、客户的交流工作,包括进度管理、风险管理、资金管理、人力资源管理、交流管理等。还有测试计划书的编写、测试总结报告的归纳等。必须具有项目经理的知识和技能。 (2) 测试设计师:主要根据软件开发各阶段产生的设计文档来设计各阶段的测试用例。 (3)测试文档审核师:主要负责前置测试,包括对各个阶段的分析与设计文档进行审核,如:需求说明书、概要与详细设计说明书等。 (4)测试工程师:对测试设计师设计的测试用例分阶段完成测试工作。

基本素质要求如下: (1)具备计算机软件测试的基本理论知识 (2)熟悉开发工具和平台 (3)掌握测试工具的使用 (4)善于学习,理解与归纳 (5)耐心、细致、工作态度好