当前位置:文档之家› 软件测试常用方法

软件测试常用方法

5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系?6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因?7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?1.软件测试分哪两种方法?分别适合什么情况?软件测试方法一般分为两种:白盒测试与黑盒测试。

白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。

2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。

计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:1)。

测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。

以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。

3)测试开发建立可重复使用的自动测试过程。

4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。

BVT (Build Verification Test),主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确Scenario Tests(基于用户实际应用场景的测试),Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况Smoke Test,修复Bug后,针对此次修复是否会对其他模块造成影响而进行的专门测试。

Smoke Test优点是节省测试时间,防止build失败。

缺点是覆盖率还是比较低此外,还有Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。

Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。

其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等4. 测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样。

(版本、编号、项目、设计人员、设计日期、输入、预期输出……)软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。

用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。

定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。

比如“测试用户登录时输入错误密码时,软件的响应情况” .重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。

一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然,测试输入:提供测试执行中的各种输入条件。

根据需求中的输入条件,确定测试用例的输入。

测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。

对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。

如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。

7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程1、测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,系统会自动通过Email通知项目组长或直接通知开发者。

1)经验证无误后,修改状态为VERIFIED.待整个产品发布后,修改为CLOSED. 2)还有问题,REOPENED,状态重新变为“New",并发邮件通知。

2)项目组长根据具体情况,重新reassigned分配给bug所属的开发者。

3)若是,进行处理,resolved并给出解决方法。

(可创建补丁附件及补充说明)4)开发者收到Email信息后,判断是否为自己的修改范围。

5)若不是,重新reassigned分配给项目组长或应该分配的开发者。

1、阶段评审与同行评审的区别?同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导阶段评审人数:5人左右评审人必须是专家具有系统评审资格同行评审内容:内容小一般文档 < 40页,代码 < 500行阶段评审内容:内容多,主要看重点同行评审时间:一小部分工作产品完成阶段评审时间:通常是设置在关键路径的时间点上2、什么是软件测试及其目的?软件测试是使用人工或自动化手段来运行或测定某个系统的过程。

其目的是:在于检验它是否能满足规定的需求或是弄清楚预期结果与实际结果之间的差别。

3、简述集成测试的过程?集成测试流程:在完成软件的概要设计后,即开始制定集成测试计划-》设计集成测试用例和测试过程-》实施集成测试,设计所需驱动和桩-》执行集成测试,记录测试结果-》评估集成测试,根据测试结果评估此次测试,生成评估报告文档。

(驱动或桩函数是做单元测试时要用到的。

驱动函数是所测4函数的主程序,它接收测试数据,并把数据传送给所测试单元,最后再输出实测结果。

当被测单元能完成相关功能时,也可以不要驱动单元。

桩,是用来代替所测试单元调用的子单元。

)4、白盒测试有哪几种方法?参考答案:代码审查,语句覆盖,判定覆盖,条件覆盖,组合覆盖,基本路径,形式化方法,符号执行5、简述测试目标有哪些类型?参考答案:功能测试,负载测试,性能测试,安全性测试,恢复测试,安装测试,兼容性测试,可用性测试,可靠性测试,国际化测试,本地化测试。

6、怎么样做好文档测试?参考答案:文档的测试主要采用静态测试即走查的方法,可以依据的是同行评审,列出一个检查表,然后大家一起坐下来对着被测试的文档进行阅读排错。

通常文档都很长,而一般的建议是一次同行评审步的时间不能超过两个小时,因此可以对被测试文档执行测试时,列个计划,将总的文档分解,按照计划多次对被测试的文档进行走查。

7、测试结束的标准是什么?从项目周期看:1、超出了所分配的测试时间;2、用尽了分配的测试资源;3、到达了某一个固定的里程碑(如合同规定的交付日期)。

从测试角度看:1、测试需求覆盖率;2、测试代码覆盖率;3、测试用例度量;4、缺陷检查度量8、Alpha 测试与Beta测试的区别?Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。

目的是评价软件产品的功能、可使用性、可靠性、性能和支持。

尤其注重产品的界面和特色。

Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。

有关的手册(草稿)等应该在Alpha测试前准备好。

Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。

开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。

在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。

Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。

只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。

由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。

9、系统测试计划是否需要同行审批,为什么?需要,系统测试计划属于项目阶段性关键文档,因此需要评审。

10、比较负载测试,容量测试和强度测试的区别?负载测试:在一定的工作负荷下,系统的负荷及响应时间。

强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。

容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。

容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。

容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。

相关主题