软件测试流程等一些理论知识(1)

来源:互联网 发布:linux网络编程第十四 编辑:程序博客网 时间:2024/05/14 08:18

软件测试流程

  A:    我们原来公司已经顺利通过CMMI3认证,所以开发和测试流程都比较规范。我们公司会把测试分成五个阶段:计划,设计,执

行,评估,验收。在计划阶段呢我们主要编写测试计划,对进度的

安排,人力物力的分配。总体测试策略的制定,以及风险的评估和

规避(解决方案)都要在计划中所有体现。一般由经理编写计划。我也参与计划的评审工作。之后,就是测试设计。我们主要输出是测试用例。我们会参考研发人员的需求分析,详细设计,概要设计等文档。如果需求不明确,我们会及时和开发人员沟通。用例编写结束就进入测试执行阶段,首先,搭建测试环境,做预测试(冒烟测试),评定版本是否具有可测性。之后再进行系统测试,发现问题,提交缺陷报告。具体系统测试的轮次根据开发质量和系统的复杂度来决定。执行结束以后进入评估阶段出测试总结报告。对整个测试过程作一个总结。对当前版本质量作一个评估。最后是验收测试,我们出用户手册,操作指引。每个阶段都会有严格的评审以保障输出的有效性。

⑵软件测试的目的

A:测试的目的是发现软件中的错误。从用户角度,通过测试发现软件中存在错误,考虑是否接受该软件产品。从开发者角度:通过测试表明软件中不存在问题,以提高人们对软件的信心。

⑶软件测试的对象

 A:需求分析,概要设计,详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明,概要设计说明,详细设计规格说明以及源程序,都应成为软件测试的对象。(软件测试应贯穿于软件定义与开发的整个期间。)

⑷测试人员的职责

1.编写测试用例。2搭建测试环境。3执行用例并提出问题单。4模块测试总结。

B/S C/S的区别

AC/S架构软件(这种软件基于网络传输,需要一台服务器来安装服务器端软件,每个用户需要安装客户端软件);

B/S架构软件(基于网络传输,但它不需要安装客户端,用户只需要有IE浏览器即可。)

⑹测试工作的基本原则

  A:1所有的软件都要追溯到客户需求。2应尽早地和不断地进行软件测试。3完全测试是不可能的,测试需要终止。4测试无法显示软件潜在的缺陷。5充分注意测试中的群集现象。6程序员要避免检查自己的程序。7尽量避免测试的随意性。

⑺什么是UML

A:是一种统一建模语言。它是一种用于描述构造软件系统以及商业建模的语言,综合了在大型,复杂系统的建模领域得到认可的优秀的软件工程方法。

⑻常用开发模型有哪几种?

A:瀑布,快速原型 ,增量。螺旋

⑼什么是CMMI 简单解释

   A:即:性能完善模型。它是一个分为5级的,可以描述结构完善程度的模型。用它来说明所支付的软件的效能。

⑽为什么软件会有毛病

  1。交流错误或者没有进行交流。2。软件的复杂度。3。代码的文档质量差。4。编程错误。5。时间压力。6。需求改变和变更。7。软件开发工具。

⑾简述V模型和W模型

   A:V模型。开发活动和测试活动一一对应。软件开发过程是一

个自顶向下逐步细化的过程,测试是自底向上逐步集成的过程。(需求功能设计编码单元测试集成测试系统测试验收测试)W模型表明从项目动工开始时,即需求分析开始,就开始了测试工作。测试贯穿于定义和开发的过程。开发和测试的对应过程:需求→需求测试。功能→功能测试。设计→设计测试。编码→单元测试。构建→集成测试。集成→系统测试。安装→验收测试)

 

(12)软件测试按阶段划分为哪几个(单元 集成 系统 验收)。

⒀黑盒测试和白盒测试的区别

  A:黑盒测试只要把测试对象看做一个黑盒子,不管程序内部

的结构和内部特征,主要测试功能。白盒测试主要利用程序内部的

逻辑结构及有关信息,设计或者选择测试用例,对程序所有逻辑路

径进行测试。主要测试代码。

⒁测试什么时候结束 有什么标准

1用例全部执行。2覆盖率达到标准。3。缺陷率达到标准。4。其他各项指标达到标准。

⒂问题太多 无法测试你会怎么办  A:仔细研究报告,看错误或者阻塞型的问题最初出现的地方。

把注意力放在最严重的错误上。反馈给管理员,并提出相应的证明

文件。

⒃时间不够 不能全部测试 你会怎么办

 A:回归需求,测试软件的主要功能点,保证主要功能点的实现。

综合考虑项目的用途,即哪个功能最重要,那种功能对安全影响最

大,对用户最有用,哪种功能最重要。客户对该应用软件哪个方面

最重视。

⒄开发与测试的关系

  A:开发和测试是相辅相成的。测试依赖于开发,测试也指导开发

好的测试人员应该具备的素质

A:沟通能力,移情能力,技术能力,自信心,外交能力,幽默感,

很强的记忆力,耐心,怀疑精神,自我督促,洞察力。 

⒅测试人员需要参与需求分析吗? 为什么

A:需要。因为:(答案一:)如果条件允许,原则上来说,是越早

介入需求分析越好,因为测试人员对需求理解越深刻,对测试工作

的开展越有利,可以尽早的确定测试思路,减少与开发人员的交互

,减少对需求理解上的偏差。(答案二:)在需求阶段深入了解需求,有利于编写深入的测试用例,能够发现深层次的问题。参与需求分析能够了解顾客的真正需求,从客户角度出发,实现用户的各个功能模块。不至于沟通受阻,或者沟通产生误解偏差,保证软件的质量。

⒆测试用例的组成

A:用例编号,所属模块,预置条件,输入,操作步骤,预期结果,用例的优先级别,实际结果,是否通过状态

⒇测试用例在实际工作中如何编写

  在工作中,我们会参考开发人员编写的需求分析,详细设计,概

要设计等文档来编写测试用例,如果有需求不明确的地方,我们会

及时和开发人员沟通。当然,在实际的测试过程中,我们会用到等

价类,边界值等黑盒测试方法来设计用例。

21)测试用例优先级别的评定标准 为什么要有优先级别

  A:我们会根据用例的重要性把它分为高中低三个级别。对于主要

功能点的正常流程也就是软件常用的功能,我们会定位高级,对于

用得较少的功能点或者是主要功能点的异常输入定位中级,对于特

殊情况,如断网,断电等罕见的我们定位低级。

22)什么样的用例是高质量的用例

  A1用例描述清晰,便于执行人员的操作。2。用例覆盖率高,保

证所有的功能点都被覆盖到。3。在需求阶段,深入了解,用例写得

深入,能够发现深层次的问题。

23)如何编写高质量的测试用例

 A:1.尽早介入需求,在设计阶段深入了解需求。2。公司有严格的

评审阶段来保障用例输出的有效性。3。实际执行过程中,会根据项

目的具体情况,对用例进行修改。

24)什么是评审 它有什么意义

 评审是指我们编写完测试用例之后,组织的同级互查,完成编制之

后组织专家评审(评审委员会可以由项目负责人,测试,编程,分

析设计等相关人员组成,也可以邀请客户代表参加),需获得通过

才能够使用的过程叫做评审。   意义:保证每一步的输出都是有效

的。

25)什么是回归测试

 当我们接到新版本时,重新搭建好测试环境,首先我们会验证上一

次我们提交的bug单是否得到修正。这个过程我们就叫做回归测试。

26)什么是冒烟测试 有什么意义

  又叫做预测试。是我们接到新版本,进行大规模测试之前,先验

证一下软件基本功能是否实现,该软件是否具有可测性。

  验证该软件是否具有可测性,提高测试效率。

27)常用的黑盒测试方法有哪些?

  等价类划分法,边界值法分析法,因果图法,判定表驱动法,错

误推测法。正交实验法。功能图法,场景法。

28)有效等价类和无效等价类有什么区别?

A:有效等价类是指符合《需求规格说明书》,合理地输入数据集合

。无效等价类是指不符合《需求规格说明》,无意义地输入数据集

合。

 

  29)测试用例的概念?

指对一项特定的软件产品进行测试任务的描述,体现测试方案、方

法、技术和策略。内容包括测试目标、测试环境、输入数据、测试

步骤、预期结果、测试脚本等,并形成文档。

30)为什么我们在实际工作中要用到等价类?有效等价类和无效等价类的区别。

 A:避免穷举法,提高测试效率,避免不必要用例的执行。有效等价类是指符合《需求规格说明书》,合理地输入数据集合。无效等价类指不符合《需求规格说明书》,无意义地输入数据集合。

(31)αβ测试的区别

  α是用户在开发环境下进行的测试,也可以是公司内部的用户在

模拟实际操作环境下进行的测试。β测试是软件的多个用户在实际

使用环境下进行的测试,这些用户返回有关错误信息给开发者。是

在开发者无法控制的环境下进行的软件现场应用。

32)需求一直在变,你该怎么办?

1)如果可能,尽早与承担该项目风险的人接触,以便了解需求会怎样改变,从而可以尽早地改变测试计划和策略。
2)如果在对应用程序进行初始设计时多考虑一些适应性,那么以后在发生需求的改变时,就不需要再为改变做很多事情了。
3)好的代码注释和好的文档有助于开发人员作出相应的改变。
4)只要有可能,就应使用快速原型 (rapid prototyping),以帮助用户确认他们的需求,从而减少变更。
5)在项目的时间表中应当留出余量,以应付可能出现的变更。
6)尽量把新的需求纳入应用软件的下一版,而把原始需求作为第一版
7)通过谈判,把易于实现的新的变更列入项目,而把难于实现的新需求列入该应用软件的以后的版本。
8)要确保让客户和管理人员了解变更对进度表的影响、所带来的风险、以及因变更所引起的大量资金消耗。
9)在应付改变时,应在为建立自动测试而作的努力和重新进行测试所做的努力之间取得平衡。
10)在设计自动测试剧本时,试图使其有一些灵活性。
11)在对应用软件进行自动测试时,要把注意力集中在看来不大会改变的部分。
12)对变更进行适当的风险分析,以减少回归测试的要求。
13)在设计测试案例时要有一定的灵活性。做到这一点并不容易,所以要降低测试案例的详细程度,或者只建立高级的通用型的测试计划。
14)少注意详细的测试计划和测试案例,要把重点放在专门的测试 (ad hoc testing) 上。

33)开发人员对于你提交的缺陷表示质疑,不接受。你该怎么办?

34)编写测试计划的目的是什么?(测试计划对整个测试活动起指导作用。)包括哪些内容(目的,背景,范围,参考文档,提交文档,进度安排,资源分配,策略制定,风险评估),主要的组成有哪些(进度安排。策略制定。风险评估)?怎样做好测试计划(1理解系统。2及早介入。3测试期望。4吸取教训。5工作量大小。6技术选择7时间表

35)在实际工作的过程中,你遇到过什么样的问题,你一般是怎样解决的?

 
白盒测试有哪几种方法?
总体上分为静态方法和动态方法两大类。
静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义
动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
白盒测试:测试证明每种内部操作和过程是否符合设计规格和要求,基于程序结构的逻辑驱动测试.静态的举例:代码走读,代码检视.
集成测试的策略
1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
2)各个子功能组合起来,能否达到预期要求的父功能;
3)一个模块的功能是否会对另一个模块的功能产生不利的影响;
4)全局数据结构是否有问题;
5)单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
      留下几个问题大家稍微自己想下吧!O(∩_∩)O~
制定测试计划之前 要做哪些准备工作?
怎样做好测试计划?
 

 

 

原创粉丝点击