1、什么是软件测试?2’
2、软件测试与软件质量保证的区别。10’
3、报告软件缺陷时,测试人员要对软件缺陷分类,以简明扼要的方式指出其影响,以及修改的优先次序。请描述如何划分缺陷与错误严重性和优先级别?10’
4、BUG信息应该包含那些内容。5’
5、测试用例说明应该包含哪些内容?测试用例计划包含哪些目标?10’
6、WEB应用软件测试必须进行哪些类型测试,请列出每种类型的测试要点。15’
7、网络应用测试的主要内容是什么?10’
8、用户文档测试应该注意哪些要点?10’
9、在DBMS中,视图的作用是什么?
写出建立视图的命令格式(如建立信息系学生的视图)10’
10、请列举您认为身为测试人员应具备的能力和技术。8’
参考答案
1、什么是软件测试?2’
【要点】
在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。
【详解】
软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软件编码进行查错(包括代码执行活动与人工活动)。也可以说,软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、软件设计规格说明书和软件编码的最终复审,是软件质量保障的关键步骤。
1、 软件测试与软件质量保证的区别。10’
【要点】
软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;
质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产物。
软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量
【详解】
软件测试和软件质量保证是软件质量工程中的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。
质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量。QA采用的方法重要是按“全面质量管理”和“过程改进”的原来开展质量保证工作。虽然在软件质量保证的活动中也有一些测试活动,但它所以关注的是软件质量的检查和测量。它的主要工作是对软件生命周期的管理,以及检验软件是否满足规定的质量和用户的需求,因此重要是着眼于软件开发活动中的过程,步骤和产物,而不是软件进行剖析,找出问题或者评估。
软件测试虽然与开发过程紧密相关,但它所关心的不是过程的活动,而是对过程的产物,以及开发出的软件进行剖析。测试人员要对过程的产物(开发文档和源代码)进行走读,运行软件。以找到问题和报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作就是为了找出更多的问题,而不是为了验证(事实上也不可能)软件的正确性。所以软件测试虽然对提高软件的质量起着关键的作用,但它只是软件质量保证的一个重要环节。
3、请描述如何划分缺陷与错误严重性和优先级别?10’
给软件缺陷与错误划分严重性和优先级的通用原则:
(1) 表示软件缺陷所造成饿危害和恶劣程度。
(2) 优先级表示修复缺陷的重要程度和次序。
严重性:
(1)、严重:系统崩溃、数据丢失、数据毁坏
(2)、较严重:操作性错误、结果错误、遗漏功能
(3)、一般:小问题、错别字、UI布局、罕见故障
(4)、建议:不影响使用的瑕疵或更好的实现。
优先级:
(1)、最高优先级:立即修复,停止进一步测试。
(2)、次高优先级:在产品发布之前必须修复。
(3)、中等优先级:如果时间允许应该修复。
(4)、最低优先级:可能会修复,但是也可能发布。
4、BUG信息应该包含那些内容。5’
测试软件名称、测试版本号、测试人名称、测试事件、测试软件和硬件配置环境、
发现软件错误的类型、错误的严重程度、详细步骤、必要的附图、测试注释。
5、 测试用例说明应该包含哪些内容?10’
(1) 定义(ANSI/IEEE829):编写用于输入的实际数据和预期结果,并明确指出使用具体测试用例产生的测试程序的任何限制
(2) 包含的内容
l 标识符:由测试设计过程说明和测试程序说明引用的唯一标识符
l 测试项:描述被测试的详细特性、代码模块等
l 输入说明:列举执行测试用例的所有输入内容或者条件
l 输出说明:描述进行测试用例预期的结果
l 环境要求:执行测试用例的软件、硬件、测试工具及人员等要求
l 特殊要求:描述执行测试用例的特殊要求
l 用例之间的依赖性:注明与其分用例的依赖关系或受其他用例的影响
测试用例计划包含4个目标即:组织性、重复性、跟踪和测试证实。
6、WEB应用软件测试必须进行以下不同类型的测试,包括:功能测试、性能测试、可用性测试、兼容测试、安全测试等。15’
(1)、功能测试主要是用来测试WEB应用软件是否履行了预期的功能,确保每一个功能与需求说明一致。根据测试对象的不同,可分为:链接测试、表单测试、COOKIES测试、设计语言测试、数据库测试。
(2)、性能测试主要是确保WEB应用系统达到要求的性能,一般用最大的运行时间、吞吐率、相应时间描述。
性能测试又分为:链接速度测试、负载测试和压力测试,
负载测试是为了测量WEB系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问WEB系统的用户数量,也可以是在线数据处理的数量。
压力测试是指实际破坏一个WEB应用系统时测试系统的反映,压力测试是测试系统的限制和故障恢复能力,也就是测试WEB应用系统会不会崩溃,在什么情况下会崩溃,压力测试的区域包括表单、登录、和其他信息传输页面等。压力测试侧重于确定系统崩溃时的用户负载量。
(3)、可用性测试:导航测试、图形测试、内容测试、整体界面测试。
(4)、兼容性测试:确定WEB应用软件在不同软件、硬件和网络配置下运行情况,它主要是用来测试在不同浏览器中是否都可以正确地显示WEB应用程序的页面内容,从而保证页面中的某些代码,比如:JavaScript ,ActiveX 、CSS等在不同平台配置上都能具有正确性。
(5)、安全测试。
7、网络应用测试的主要内容是什么?10’
网络应用系统包含:网络应用软件、工作站桌面软件和客户/服务器数据库。
网络应用测试重点考察:多用户并发访问性能、应用系统响应时间、应用系统对网络
资源的占用情况、与网络相关的应用功能特性、应用系统在网络环境下的稳定性。
(1) 特性测试:特性测试核实的是单个命令和应用程序功能,通常用较小的负载完成,关注的是用户界面、应用程序的操作,以及用户与计算机之间的互操作。
(2) 功能测试:要求网络配置和负载非常接近于运行环境下的模式,关注的是当多个用户使用应用程序时,网络和文件系统或者数据库系统之间的交互情况,核实的是重负载下后台功能能否正确执行。
(3) 应用应用负载测试。
(4) 应用系统响应时间测试。
(5) 应用系统升级测试。
8、用户文档测试的要点10’
(1)、明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,
保证用户能够看得懂、能理解
(2)、术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合
(3)、文档内容的正确性:要保证所有信息是真实正确的
(4)、文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方
(5)、文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致
(6)、文档的易用性:检查是否便于用户查找相应的内容
(7)、图表与界面截图:检查所有图表与界面截图与发布的程序版本一致
(8)、样例和示例:检查所有的样例和示例能够正确完成;
(9)、语言:中文文档保证无错别字和二义性
(10)、印刷与包装:印刷质量,包装质量
9、在DBMS中,视图不是真正的包含数据,只是把定义存于数据字典中。作用为:10’
(1)、简化用户操作。
(2)、使用户能从多角度中看待同一数据。
(3)、对重构数据提供一定程度的逻辑独立性。
(4)、能对机密数据提供安全保护。
CREATE VIEW<视图名>[(<列名>[<列名>]……)] AS 子查询 [With Check Option] CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept =’IS’ With Check Option
10、测试人员应该具备的能力和技术。8’
1、基本能力
2、沟通能力
3、技术能力
测试方法应用、测试用例设计、测试工具使用(测试管理系统、自动化测试工具、负载测试工具)
4、管理能力
5、文档能力