1.什么是软件缺陷?软件缺陷的产生对软件有什么影响?
软件缺陷:软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,不能满足或不能全部满足用户的需求。
从产品内部看,软件缺陷是软件产品开发过程或维护过程中所存在的错误、误差等各种问题。
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
影响:(1)需求不明确。软件需求不清晰或者开发人员对需求理解不明确,导致软件在设计时偏离客户的需求目标,造成软件功能或特征上的缺陷。此外,在开发过程中,客户频繁变更需求也会影响软件最终的质量。
(2)软件结构复杂。如果软件系统结构比较复杂,很难设计出一个具有很好层次结构或组件结构的框架,这就会导致软件在开发、扩充、系统维护上的困难。即使能够设计出一个很好的架构,复杂的系统在实现时也会隐藏着相互作用的难题,而导致隐藏的软件缺陷。
(3)编码问题。在软件开发过程中,程序员水平参差不齐,再加上开发过程中缺乏有效的沟通和监督,问题累积越来越多,如果不能逐一解决这些问题,会导致最终软件中存在很多缺陷。
(4)项目期限短。现在大部分软件产品开发周期都很短,开发团队要在有限的时间内完成软件产品的开发,压力非常大,因此开发人员往往是在疲劳、压力大、受到干扰的状态下开发软件,这样的状态下,开发人员对待软件问题的态度是“不严重就不解决”。
(5)使用新技术。现代社会,每种技术发展都日新月异。使用新技术进行软件开发时,如果新技术本身存在不足或开发人员对新技术掌握不精,也会影响软件产品的开发过程,导致软件存在缺陷。
2.什么是软件测试?软件测试的基本原则是什么?
软件测试:在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价;分析某个软件项以发现现存的和要求的条件之差别并评价此软件项的特性。
基本原则:(1)测试是为了证明程序有错,而不是证明程序无错误;
(2)一个好的测试用例是在于它能发现至今未发现的错误;
(3)一个成功的测试是发现了至今未发现的错误的测试。
3.什么是软件测试用例?良好的测试用例应该具有什么样的特性?
测试用例:测试用例是一组测试输入、执行条件和预期结果的集合,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求。
特性:(1)代表性。测试用例能代表并覆盖各种合法的或不合法、边界内的或越界的以及极限的输入数据、操作和环境的设置。
(2)可判定性。测试执行的结果的正确性是可以判定的。每一个测试用例都应有相应的预期结果。
(3)可再现性。对于同样的测试用例,系统执行的结果应当相同的,并且相同的测试的执行过程可以反复操作。
4.怎样搭建软件测试环境?对软件测试人员有什么要求?
搭建软件测试环境:(1)机房环境的建立;
(2)硬件环境的建立;
(3)软件环境的建立;
(4)网络环境的建立;
(5)安全措施的实施。
测试人员要求:(1)具备计算机软件测试的基本理论知识;
(2)熟悉开发工具和平台;
(3)掌握测试工具的使用;
(4)善于学习,理解与归纳;
(5)耐心、细致、工作态度好。