软件测试面试题集锦(重点).doc

上传人:仙人指路1688 文档编号:4081088 上传时间:2023-04-03 格式:DOC 页数:110 大小:323.50KB
返回 下载 相关 举报
软件测试面试题集锦(重点).doc_第1页
第1页 / 共110页
软件测试面试题集锦(重点).doc_第2页
第2页 / 共110页
软件测试面试题集锦(重点).doc_第3页
第3页 / 共110页
软件测试面试题集锦(重点).doc_第4页
第4页 / 共110页
软件测试面试题集锦(重点).doc_第5页
第5页 / 共110页
点击查看更多>>
资源描述

《软件测试面试题集锦(重点).doc》由会员分享,可在线阅读,更多相关《软件测试面试题集锦(重点).doc(110页珍藏版)》请在三一办公上搜索。

1、软件测试面试题 01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比 ISO 质量认证一 样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的 过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告 中得出软件的质量情况。 保证软件质量的最后一道关口。02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 我曾经做过 web 测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户 体验测试。最擅长的是功能测试 03. 您所熟悉的软件测试类型都有哪些?请试着分

2、别比较这些不同易用性测试-界面的友好性,操作方便性等。功能测试-系统中功能性需求的满足安全性测试-系统是否存在安全隐患和漏洞性能测试-系统在大并发下的响应速度和健壮性 软件测试的分类从是否关心软件内部结构和具体实现的角度划分 A.白盒测试 B.黑盒测试 C.灰盒测试从是否执行程序的角度 A.静态测试 B.动态测试从软件开发的过程按阶段划分有 A.单元测试 B.集成测试 C.确认测试 D.系统测试 E.验收测试 * 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 * 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功

3、能。 * 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 * 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。 * 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。功能测试、健壮性测试、接口测试、强度测试、压力测试、性能测试、用户界面测试、可靠性测试、安装/反安装测试、文档测试。功能测试:功能测试主要针对产品需求说明书的测试,是验证功能是否否合需求,包括原定功能的检验、是否有冗余功能、遗漏功能。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作,他们也

4、需要进行基本功能的测试。接口测试:程序员对各个模块进行系统联调的测试,包含程序内接口和程序外接口测试。这个测试,在单元测试阶段进行了一部分工作,而大部分都是在集成测试阶段完成的。由开发人员进行。性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该与性能测试一同进行。用户界面测试:对系统的界面进行测试,测试用户界面是否友好、是否方便易用、设计是否合理、位置是否正确等一系列界面问题安装/反安装测试:安装测试主要检验软件是否可以正确安装,安装文件的各项设置是否有效,安装后能否影响原系统;反安装是逆过程,测

5、试是否删除干净,是否给影响原系统等。文档测试:主要测试开发过程中针对用户的文档,以需求、用户手册、安装手册等为主,检验文档是否和实际应用存在差别。文档测试不需要编写测试用例。测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于

6、性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。区别在于,功能测试关注产品的所有功能上,

7、要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。1,按是否需要执行

8、被测软件的角度 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。2、按阶段划分: 1 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试

9、。因此应用系统有一个设计很好的体系结构就显得尤为重要。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 2 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 3 系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要

10、求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 4 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。 5 回归测试 回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两

11、重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。 6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。 7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。3、按测试方法划分: 1 白盒测试 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品

12、内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三

13、,穷举路径测试可能发现不了一些与数据相关的错误。 白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。2 黑盒测试黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类

14、划分、边值分析、因果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot等。3 ALAC(Act-like-a-customer)测试ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产

15、品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。 04. 的测试类型的区别与联系(如功能测试、性能测试) 测试类型有:功能测试,性能测试,界面测试。 功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个 黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的 内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错 误推测、因果图和综合策略。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各 项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结

16、合进行。通过负载 测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指 标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能 提供的最大服务级别的测试。 界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印 象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如 同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成 功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的 畏惧与放弃中付诸东流。 区别在于,功能测试关注产品的所有功能上,要

17、考虑到每个细节功能,每个可能存在的 功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关 注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的), 是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据, 当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功 能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。集成测试:模块或模块直接的集成接口测试

18、,单个模块测试系统测试:一个完整功能的完全测试。04您认为做好测试用例设计工作的关键是什么? 测试计划工作的关键:了解项目或系统的业务需求和项目经理协调好,了解项目的进度计划安排情况白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测 试,以最少的用例在合理的时间内发现最多的问题 1. 用户需求,需要了解需求。不了解需求,设计测试用例无从谈起。2. 把需求分析进化成需求点列表。这样才能保证覆盖率。也是后期核查测试覆盖率以及更新添加测试用例的依据。3.了解功能的层次,哪些是主要功能,需要详细设计,全面

19、覆盖,哪些是不常用的功能,可以粗线条的设计。哪些功能是设计接口比较多多,哪些是新功能,需要主要侧重点进行设计。对于留用功能(既存功能)和关系不太复杂的设计上就可以减少量.这些原则可以决定测试用例设计的颗粒度大小从而让控制风险更有依据。4.注意测试用例的设计的有效性和复用性05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区 别与联系。 - Page 2- 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要 求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规 格要求,所有内部成分是否以经过检查。 软件的黑盒

20、测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑 盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书, 检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒 测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个 打开的盒子,它允许测试人员利用程序内部的逻

21、辑结构及有关信息,设计或选择测试用例, 对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状 态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行 如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、 很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下 某个特定函数的行为。 单

22、元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有 责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了 证明这段代码的行为和我们期望的一致。 集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是: 两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组 件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程 序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起 测试。最后,将构成进程的所有模块一起测试。 系统测试是将经过测试的子系统装配成一

23、个完整系统来测试。它是检验系统是否确实能 提供系统方案说明书中指定功能的有效方法。(常见的联调测试) 系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并 - Page 3-且遵循系统设计。 验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪, 并且可以让最终用户将其用于执行软件的既定功能和任务。 验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计 把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步 验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那 样。

24、06. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要 的? 软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、 测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计 划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试 实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。 测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划 测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。 所以其中最重要的是测试测试策略和测试

25、方法(最好是能先评审) 07. 您认为做好测试计划工作的关键是什么? 1. 明确测试的目标,增强测试计划的实用性 编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试 计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划 中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实 用性,便于使用,生成的测试结果直观、准确 2坚持“5W”规则,明确内容与过程 “5W”规则指的是“What (做什么)”、“Why (为什么做)”、“When (何时做)”、“Where (在哪里)”、“How (如何做)”。利用“5W”规则创

26、建软件测试计划,可以帮助测试团队理 解测试的目的(Why ),明确测试的范围和内容(What ),确定测试的开始和结束日期(When ), 指出测试的方法和工具(How ),给出测试文档和软件的存放位置(Where )。 3采用评审和更新机制,保证测试计划满足实际需求 测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准 确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更 新,误导测试执行人员。 4. 分别创建测试计划与测试详细规格、测试用例 应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执 行测试过程的测试

27、用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和 测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的 范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。 08. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试 用例设计工作中的应用。 等价类划分 边界值分析法 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法 因果图方法:输入条件之间的联系和相互组合情况,生成判定表。从而设计测试用例 比较法:比较每个版本 主要用于后期的用例 业务流程图分析和状态转换分析/

28、业务逻辑分析 1等价类划分 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程 - Page 4-序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试. 因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的 输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同 的情况:有效等价类和无效等价类. 2边界值分析法 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生 在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计 测试用

29、例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界, 就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据, 而不是选取等价类中的典型值或任意值作为测试数据. 3错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例 的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情 况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产 品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为 0 的

30、情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的 例子作为测试用例. 4因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条 件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要 检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的 组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个 动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成 的就是判定表. 它适合于检查程序输入条件的各种组

31、合情况. 09. 请以您以往的实际工作为例,10. 详细的描述一次测试用例设计的完整的过程。 阶段:编写测试计划,测试用例、测试缺陷报告,并执行测试用例,搭建Windows测试环境,熟练使用Bugzilla提交软件缺陷报告至于为什么嘛,当然要一步步来的,要有计划才能执行啊,大概是这样吧 _使用测试技术及工具:白盒测试和黑盒测试 Loadrunner、Winrunner能够运用边界值、等价类划分法、因果图、状态图、大纲法等测试方法设计高效测试用例软件测试工作总体流程图:详细测试步骤:1. 书写测试计划2. 审核测试计划,未通过返回第一步3. 书写测试用例;4. 审核测试用例,未通过返回第三步5.

32、 测试人员按照测试用例逐项进行测试活动,并且将测试结果填写在测试报告上;(测试报告必须覆盖所有测试用例)6. 测试过程中发现bug,将bug填写在bugzilla上发给集成部经理;(bug状态NEW)7. 集成部经理接到bugzilla发过来的bug7.1 对于明显的并且可以立刻解决的bug,将bug发给开发人员;(bug状态ASSIGNED);7.2 对于不是bug的提交,集成部经理通知测试设计人员和测试人员,对相应文档进行修改; (bug状态RESOLVED,决定设置为INVALID);7.3 对于目前无法修改的,将这个bug放到下一轮次进行修改;(bug状态RESOLVED,决定设置为R

33、EMIND)8. 开发人员接到发过来的bug立刻修改;(bug状态RESOLVED,决定设置为FIXED)9. 测试人员接到bugzilla发过来的错误更改信息,应该逐项复测,填写新的测试报告(测试报告必须覆盖上一次中所有REOPENED的测试用例);10. 如果复测有问题返回第六步(bug状态REOPENED)11. 否则关闭这项BUG(bug状态CLOSED)12. 本轮测试中测试用例中有95%一次性通过测试,结束测试任务;13. 本轮测试中发现的错误有98%经过修改并且通过再次测试(即bug状态CLOSED),返回第五步进行新的一轮测试;14. 测试任务结束后书写测试总结报告;15. 正

34、规测试结束进入非正规测试,首先是ALPHA测试,请公司里其他非技术人员以用户角色使用系统。发现bug通知测试人员,测试人员以正规流程处理bug事件;16. 然后是BETA测试,请用户代表进行测试。发现bug通知测试人员,测试人员以正规流程处理bug事件。 就说最近的这次网站功能的测试吧 首先:得到相关文档(需求文档和设计文档),理解需求和设计设计思想后,想好测试 策略(测试计划简单点就OK 了),考虑到测试环境,测试用例,测试时间等问题。 第二步:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测 试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是

35、功 能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使 用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标 志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会 经历3 个步骤,网站才算完成了它的任务。有 3 个步骤呢,就可以分别对 这 3 个步骤进 行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出 了差不多50 个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资 料的页面展示。 第三步:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环境已经很熟

36、 - Page 5-了,只有有机器能空于下来做该功能测试就可以做了),因为网站本身的环境搭建和其他的 系统有点不同,它需要的测试环境比较麻烦,需要web 服务器(Apache,tomcat ),不过这次 需求呢,网站部分只用到了tomcat,所以只要有tomcat 即可 第四步:执行测试 11. 您以往是否曾经从事过性能测试工作?如果有,12. 请尽可能的详细描述您以往的性能 测试工作的完整过程。 是的,曾经做过网站方面的性能测试,虽然做的时间并不久(2 个月吧),当时呢,是 有位网站性能测试经验非常丰富的前辈带着我一起做。 性能测试类型包括负载测试,强度测试,容量测试等 负载测试:负载测试是

37、一种性能测试指数据在超负荷环境中运行,程序是否能够承担。 强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情 况 容量测试:确定系统可处理同时在线的最大用户数 在网站流量逐渐加大的情况下,开始考虑做性能测试了,首先要写好性能测试计划,根 据运营数据得出流量最大的页面(如果是第一次的话,一般是首页,下载页,个人帐户页流 量最大,而且以某种百分比), Web 服务器指标指标: * Avg Rps: 平均每秒钟响应次数总请求时间 / 秒数; * Successful Rounds:成功的请求; * Failed Rounds :失败的请求; * Successful Hit

38、s :成功的点击次数; * Failed Hits :失败的点击次数; * Hits Per Second :每秒点击次数; * Successful Hits Per Second :每秒成功的点击次数; * Failed Hits Per Second :每秒失败的点击次数; * Attempted Connections :尝试链接数; 13. 您在从事性能测试工作时,14. 是否使用过一些测试工具?如果有,15. 请试述该工具 的工作原理,16. 并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 制订计划-选择测试功能-选择测试工具-录制脚本-运行测试-分析结果微软WAS

39、,LoadRunner17. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? b 关键是测试脚本的录制,测试时候测试环境的干净。18. 在您以往的工作中,19. 一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提 交高质量的软件缺陷(Bug )记录? 缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现20. 您以往所从事的软件测试工作中,21. 是否使用了一些工具来进行软件缺陷(Bug )的 管理?如果有,22. 请结合该工具描述软件缺陷(Bug )跟踪管理的流程。 CQ,也可以使用BugFree等免费工具。23. 您认为在测试人员同 24.

40、开发人员的沟通过程中,25. 如何提高沟通的效率和改善沟通 的效果?维持测试人员同26. 开发团队中其他成员良好的人际关系的关键是什么? 单讲沟通工具:本人建议即时通讯工具和面对面沟通相结合的方式。QQ、MSN、飞鸽、其它一些公司的内部局域网沟通工具等等,不胜枚举,对于传文件或是简单的需要沟通的事宜通过工具可以省时间,提高效率,但是对于一些技术上或是其它方面的问题,我建议还是需要面对面沟通。程序员整天对着代码,与人沟通的机会相对比较少,喜欢闷头研究,出了问题就在msn等工具上提出来,有时候表达不完全时候,两个人针对一个很简单的问题会一直争执不下,或是因为一两句不带任何语气的话而影响情绪,这都无

41、形给工作带来了弊端,影响了效率和感情。有时候当面一句话能解决的问题,在网上要说上好几句也未必能真的解决。一个优秀的测试人员,应该知道哪些问题是应该给开发人员提出来的(毕竟,它也是从开发走过来的),对于一些不是很重要的bug,测试人员应该予以补充或作为备注,并提出个人的一些想法,尤其是这个bug有可能发生的潜在隐患。开发人员呢,对于举手之劳能改的地方尽量满足测试人员提出的需要修改的地方。毕竟,作为一个团队,每个人都是为了更好的完成项目或是工作。开发人员要不断的从测试人员那里吸取经验,测试人员也要考虑开发人员的工作量和难度,这样的话,沟通工作就相对容易些。其实,每一个开发人员都是对自己所做的软件认

42、真负责,这个不容置疑,但对于测试人员提出的问题,本能上一般的人都会有抵触心理,测试人员说白了就是挑刺的,把找出多少个系统bug为己任,这两者表面上看充满了对立与矛盾,有矛盾就会有统一,当开发人员和测试人员都把自己看成这个软件或系统的创造者之一的时候,它们在共同完成一件作品,只是分工不同罢了。有矛盾才会有进步,在测试与开发之间,同样适用。工作易做,沟通难做。当我们尝试着用换位思考的角度面对任何问题时,一切就不会总那么针尖对麦芒了。工作是一门技术,沟通是一门技巧,以扎实的技术作为根基,灵活友善的运用沟通的技巧,也许所有的工作看起来就不那么难进展,人与人之间就不那么难沟通了。在软件测试人员和开发人员

43、发生冲突的时候,软件测试人员首先要提出一些合理的依据,告诉开发人员,哪儿不合理,最好是拿出需求说明书,明确的指出不符合需求中的哪一项,有理走遍天下吗;有些在需求中没有明确定义,而测试人员是非改不可的问题的话,测试人员要坚定自己的立场,告诉开发人员,不改的话,有可能产生的问题;如果可能的话,可以了解一下开发的思路,这不仅有利于测试的进行,在需要的时候,还可以给开发一些建议、测试和开发的目的是一样的,都是希望项目能够尽善尽美,所以不可以有敷衍了事的情况出现27. 在您以往的测试工作中,28. 最让您感到不 29. 满意或者不 30. 堪回首的事情是什么? - Page 6-您是如何来对待这些事情的? 31. 在即将完成这次笔试前,32. 您是否愿意谈一些自己在以往的学习和工作中获得的工作 经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 离开软件有一段时间,离开项目管理也有时间,今日和以往的同事交流,我提出软件测试的重要性,希望他们在这方面工作的能写出一点的心得,他们谦虚的非要我作些点评,我也就欣然同意了,这是一件好事呀! 从我软件工程网开设专栏到今天,已经两年了,这两年我跟随软件工程网一起发展,原先也是保有一份热情做下来,到今天做一个企业的系统规划时,虽然没有什么证书,没有什么荣誉,但自己能

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号