软件测试课堂练习
1.什么是软件缺陷?软件缺陷的产生对软件有什么影响? 答: 所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。 2.什么是软件测试?软件测试的基本原则是什么? 答:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 原则: 关键是注重选择高效的测试例; 尽量不由程序设计者进行测试; 充分注意测试中的群集现象 3.什么是软件测试用例?良好的测试用例应该具有什么样的特性? 答: 是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 特征: 1、整体完备性 是一个有效测试用例组成的集合,能够完全覆盖测试需求; 2、等价划分的准确性 对于每一个等价类都要能够保证只要其中1个输入测试通过,那么其他等价类输入也一定测试通过; 3、等价类集合的完备性 需要保证所有可能的边界条件、边界值都已经正确识别 4.怎样搭建软件测试环境?对软件测试人员有什么要求? 答: 第一、数据库服务器端测试环境安装步骤: 1、选择服务器 2、安装操作系统 3、安装数据库 4、安装杀毒软件 5、杀毒 6、制作Image文件 7、安装软件数据库文件 8、进行相关数据库配置 9、杀毒 10、制作Image文件 第二、应用服务器端测试环境安装步骤: 1、选择服务器 2、安装操作系统 3、安装数据库 4、安装杀毒软件 5、杀毒 6、制作Image文件 7、安装软件数据库文件 8、进行相关数据库配置 9、杀毒 10、制作Image文件 第三、客户端测试环境安装步骤: 1、 选择PC机 2、安装操作系统 3、安装杀毒软件 4、安装软件要求的浏览器版本 5、测试与应用服务器的链接 6、杀毒 7、制作Image文件。 要求:计算机专业技能 计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面: 测试专业技能 现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。 测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。 软件编程技能 “测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。 软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。 此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。 网络、操作系统、数据库、中间件等知识: 与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。 在网络方面,测试人员应该掌握基本的网络协议以e69da5e6ba903231313335323631343130323136353331333332623966及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。 操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。 数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。