文档对于用户看到的错误信息应当有更详细的文档解释。
(7)图表与界面截图。检查所有图表与界面截图是否与发行版本相同。
(8)样例与示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模块制作文件,确认它们的正确性。
(9)语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。
(10)印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等等。 文档测试主要包含什么内容?
文档的完整性:主要是测试文档内容的全面性和完整性,从总体上把握文档的质量。 描述与软件实际情况的一致性:主要测试软件文档和软件实施的一致性。
易理解性:主要是检查文档对关键、重要的操作和有无图文字说明,文字、图表是否易于理解。
文档提供操作的实训:这项检查内容主要针对用户手册。主要功能和关键操作提供的应用实例是否丰富,提供的实训描述是否详细。
印刷和包装质量:主要是检查软件稳定的商业化程序。 36、单元测试主要内容是什么?
1,模块接口测试。单元测试的基础,只有在数据能正确流入,流出模块的前提下才有意义。
2,局部数据结构测试 检查局部数据结构是为了保证临时存储在模块内的数据在程序执行中完整,正确。重点是一些执行函数是否正确执行,内部是否运行正确。局部数据结构往往是错误的根源,应仔细设计测试用例。 3,边界条件测试 单元测试中最重要的一项任务。因为软件经常在边界上失败,采用边界值分析,可能发现新的错误。
4,模块中所有独立路径的测试 在模块中执行每一条独立执行路径进行测试,单元测试的基本任务保证模块中每条语句执行一次。
5,模块的各条错误处理通路测试:程序在遇到异常情况时不应该退出,好的程序应能预见各种出错条件,并预设各种出错处理通路。 37、如何理解强度测试?
强度测试是为了确定系统在最差工作环境的工作能力,也可能是用于验证在标准工作压力下的各种资源的最下限指标。
它和压力测试的目标是不同的,压力测试是在标准工作环境下,不断增加系统负荷,最终测试出该系统能力达到的最大负荷(稳定和峰值),而强度测试则是在非标准工作环境下,甚至不断人为降低系统工作环境所需要的资源,如网络带宽,系统内存,数据锁等等,以测试系统在资源不足的情况下的工作状态,通过强度测试,可以确定本系统正常工作的最差环境.
强度测试和压力测试的测试指标相近,大多都是与时间相关的指标,如并发量(吞吐量),延迟(最大\\最小\\平均)以及顺序指标等
强度测试需要对系统的结构熟悉,针对系统的特征设计强度测试的方法 38、如何理解压力、负载、性能测试测试?
6
性能测试是一个较大的范围,实际上性能测试本身包括了性能,强度,压力等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试。主要任务是获取系统正确运行的极限,检查系统的瞬间峰值负荷下正确执行的能力。增大访问系统的用户数量,或者几个用户进行大数据量操作都是压力测试,而负载测试是压力相对较大的测试,性能测试的重要部分。100个用户对系统进行连续半小时的访问可以看做压力测试,连续访问8个小时就可以认为是负载测试。
实际上,做压力测试和负载测试没有明显的区别,测试人员应该站在关注整理性能的高度上来对系统进行测试。
39、什么是系统瓶颈?
主要指整个软件硬件构成的软件系统在某一个方面或者几个方面能力不能满足用户的特定业务要求。“特定”是指瓶颈会在某些条件下出现。
严格的技术角度上讲,所有的系统都会有瓶颈,因为大多数系统的资源配置是不协调的,如cup使用率刚好到达100%时,内存正好耗尽的系统。但是不多见。所以我们要从应用角度讨论:关键是看系统能否盲足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,可以认为系统没有瓶颈或者瓶颈不影响用户工作。 测试系统瓶颈主要是实现下面两个目的:
--发现表面的瓶颈。模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标。
--发现潜在的瓶颈并解决,保证系统的长期稳定。 40、功能测试用例需要详细到什么程度才是合格的?
一,详细到每个步骤都写出来,目的是即使一个不了解的新手都可以按照测试用例来执行工作。
二,主张写的粗糙些,类似编写测试大纲。因为软件开发需求管理不规范,频繁变动。这样的测试用例容易维护。然测试执行人员有更大的发挥空间。
实际上,软件测试用例的详细程度首先要以覆盖到测试点为基本要求。 41、配置和兼容性测试的区别是什么?
配置测试的目的是保证软件在其相关的硬件上能够正常运行,而兼容性测试主要是测试软件能否与不同的软件正确协作。
1,配置测试的目的是保证软件在其相关的硬件上能够正常运行的,而兼容测试主要是测试软件能否与不同的软件兼容。
2,配置测试的核心内容:使用各种硬件来测试软件的运行情况,包括软件在不同的主机/主件上的运行情况,不同的外设,不同的接口,不同的可选项。 3,兼容测试的核心内容
1,测试软件在不同的操作系统或者同一系统的不同版本上兼容。 2,软件本身能否向前或者向后兼容。 3,测试软件能否与其它相关的软件兼容。 4,数据兼容测试,主要是指数据能否共享。
7
配置和兼容性测试通称对开发系统类软件比较重要,例如驱动程序、操作系统、数据库管理系统等。具体进行时仍然按照测试用例来执行。
42、测试中的“杀虫剂怪事”是指什么?
“杀虫剂怪事”用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。
为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对程序的不同部分进行测试,以发现更多的缺陷。也可以引用新人来测试软件,刚刚进来的新手往往能发现一些意想不到的问题。 43、完全测试程序是可能的吗?
实际上完全测试是不可能的。主要有以下一个原因: -完全测试比较耗时,时间上不允许;
-完全测试通常意味着较多资源投入,这在现实中往往是行不通的; -输入量太大,不能一一进行测试; -输出结果太多,只能分类进行验证; -软件实现途径太多;
-软件产品说明书没有客观标准,从不同的角度看,软件缺陷的标准不同; 因此测试的程度要根据实际情况确定。 44、软件测试人员就是QA吗?
软件测试人员的职责是尽可能的找出软件缺陷,确保缺陷能被修复。
QA(质量保证人员)主要职责是创建或者制定标准和方法,提高促进软件开发能力和减少软件缺陷。 测试人员的主要工作是测试,质量保证人员日常工作重要内容是检查与评审,测试工作也是保证人员的工作对象。
45、测试产品与测试项目的区别是什么?
习惯上吧开发完成进行商业化,几乎不进行代码修改就可以售给用户使用的软件称为软件产品。
把针对一个或几个特定的用户而开发的软件称为软件项目,软件项目是一种个性化的产品,可以是按照用户要求全部重新开发,也可以修改已有的软件产品来满足特定的用户需求。
区别:质量不同,产品的质量要求高一些,修复发布后产品的缺陷成本较高,甚至带来很多负面的影响。而项目通常面向某一个用户,虽然质量越高越好,但是一般只要满足用户要求就可以。
测试资源投入多少不同。软件产品通常是研发中心来开发,进度压力要小些,同时由于质量要求高,因此会投入较多的人力,物力资源。
46、和用户共同测试(UAT测试)的注意点有哪些?标记
软件产品在投产前,通常都会进行用户验收测试。如果用户验收测试没有通过,直接结果就是那不到“Money”,间接影响是损害了公司的形象,而后者的影响往往更严重。根据作者的经验,用户验收测试一定要让用户满意。
8
实际上用户现场测试更趋于是一种演示。在不欺骗用户的前提下,我们向用户展示我们软件的优点,最后让“上帝”满意并欣然掏出“银子”才是我们的目标。因此用户测试要注意下面的事项:
(1)用户现场测试不可能测试全部功能,因此要测试核心功能。这需要提前做好准备,这些核心功能一定要预先经过测试,证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心。当然如果这些模块如果问题较多,不应该进行演示。
(2)如果某些模块确实有问题,我们可以演示其它重要的业务功能模块,必要时要向用户做成合理的解释。争得时间后,及时修改缺陷来弥补。
(3)永远不能欺骗用户,蒙混过关。道理很简单,因为软件是要给用户用的,问题早晚会暴露出来,除非你可以马上修改。
和用户进行测试还要注意各种交流技巧,争取不但短期利益得到了满足,还要为后面得合作打好基础。 47、如何编写提交给用户的测试报告?标记
随着测试工作越来越受重视,开发团队向客户提供测试文档是不可避免的事情。很多人会问:“我们可以把工作中的测试报告提供给客户吗?”答案是否定的。因为提供内部测试报告,可能会让客户失去信心,甚至否定项目。
测试报告一般分为内部测试报告和外部测试报告。内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,这里不过多讨论,读者可以参考相关教材。这里主要讨论一下外部测试报告的写法,一般外部测试报告要满足下面几个要求:
-根据内部测试报告进行编写,一般可以摘录;
-不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道; -报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的; -报告上面的内容尽量要真实可靠;
-整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。 总之,外部测试报告要小心谨慎的编写。 48、什么是软件测试,软件测试的目的?
使用人工或者自动手段来运行或测试某个系统的过程,目的在于检验它是否满足规定的需求或者弄清预期结果和实际结果之间的差别。
49、写出bug报告流转的步骤,每步的责任人及主要完成的工作。标记
参考答案:(要结合自己实际的工作经验进行回答,不同公司略有区别) 测试人员提交新的Bug入库,错误状态为New。
高级测试员/测试经理验证错误,如果确认是错误,分配给开发组。设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。
开发经理分配bug至对应的模块开发人员。
开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。
对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。 测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决,置Bug的状态为Closed,如没有解决,置bug状态为Reopen。
9
50、画出软件测试的V模型图。
51、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个已经实现的功能是否符合需求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格的要求。所有内部成分是否经过检查。
黑盒测试要在软件的接口处进行,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部逻辑和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合太的功能说明。因此黑盒测试又叫功能测试或者数据驱动测试。
白盒测试是对软件的过程性细节做仔细的检查,这种方法是把测试对象看做一个打开的盒子,太允许测试人员利用程序内部的逻辑结构和有关信息,设计或者选择测试用例,对程序所有逻辑路径进行测试。通过不同点检查程序的状态,确定实际状态是否与预期的状态一致。因此,白盒测试又叫逻辑驱动测试或者结构测试。 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的,很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件下某个特定函数的行为,由程序员自己完成。
集成测试(组装测试,联合测试)是单元测试的逻辑扩展。它的最简单形式:两个已经测试过的单元组合成一个组件,并且测试他们之间的接口。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试,最后,将构成进程的所有模块一起测试。
系统测试:将经过测试的子系统装配成一个完整的系统来测试。目的是对最终软件系统进行全面的测试,确保 最终软件系统满足产品需求并且遵循系统设计。
验收测试:目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。 验收测试向用户表面系统能够像预定需求那样工作。
52、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?标记 软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略
10