软件测试面试题(应届生)

设计员工管理系统的测试用例时,需要考虑系统的各种功能和可能的使用场景,以确保系统的稳定性和准确性。以下是一些设计测试用例的基本步骤和策略:

一、明确测试目标

首先,需要明确测试的目标,例如确保员工信息的准确录入、修改、查询和删除功能正常,验证员工权限管理、工资管理、考勤打卡、绩效评估等功能的正确性。

二、了解系统功能

详细了解员工管理系统的各项功能,包括部门分类、员工权限设定、工作日志建立等。对于每个功能,都需要明确其输入、处理和输出的过程。

三、设计测试用例

基于系统功能和测试目标,设计具体的测试用例。这包括:

  1. 正常情况测试:测试系统在各种正常情况下的响应,例如正常添加、修改、删除员工信息,正常设置员工权限等。
  2. 异常情况测试:测试系统在异常情况下的响应,例如输入无效数据(如非法的员工ID、超出范围的工资数值等)、尝试进行未经授权的操作等。
  3. 边界值测试:对于输入数据有范围限制的情况,需要测试边界值(如最大值、最小值)以及稍大于或稍小于边界的值,以确保系统在边界条件下也能正常工作。
  4. 性能测试:设计测试用例来测试系统的性能,如并发用户数、响应时间、吞吐量等。

四、编写测试用例

每个测试用例应包含以下内容:

  1. 测试用例编号:唯一标识每个测试用例。
  2. 测试用例描述:简要描述测试用例的目的和测试场景。
  3. 前置条件:执行测试用例前需要满足的条件。
  4. 测试步骤:详细列出执行测试的步骤。
  5. 预期结果:列出每个测试步骤的预期结果。
  6. 实际结果:记录实际测试得到的结果。
  7. 结论:根据实际结果与预期结果的比较,得出测试用例是否通过的结论。

五、执行测试用例

按照测试计划执行测试用例,并记录测试结果。在测试过程中,需要注意观察系统的行为和输出,以便及时发现和记录问题。

六、问题跟踪与修复

对于在测试过程中发现的问题,需要进行记录和跟踪。同时,需要与开发团队沟通,协助他们定位和修复问题。在问题修复后,需要重新执行相关的测试用例,以验证问题是否已得到解决。

七、编写测试报告

测试完成后,需要编写测试报告,总结测试过程和结果。测试报告应包含测试目标、测试范围、测试用例执行情况、问题统计和修复情况等内容。通过测试报告,可以全面了解员工管理系统的质量和性能状况。

以上就是设计员工管理系统测试用例的基本步骤和策略。需要注意的是,测试用例设计是一个持续的过程,随着系统的不断更新和升级,需要定期检查和更新测试用例,以确保测试的有效性和准确性。

软件测试理论部分

1、测试的目的是什么?

  测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。

1、介绍单元测试、集成测试、系统测试、验收测试、回归测试

  1. 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码
  2. 集成测试:通过测试发现与模块接口有关的问题
  3. 系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件
  4. 回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性
  5. 验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Alpha测试和Beta测试。
  6. Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题
  7. Beta测试 :由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场。由用户记录在测试中遇到的一系列问题,并定期报给开发者。

2、黑盒的概念,黑盒和白盒的测试方法分别有哪些?

        黑盒:黑盒测试也称功能测试或数据驱动测试。把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试

常用的黑盒测试方法:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

        白盒测试:也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试

常用白盒测试方法:

静态测试:不用运行程序的测试;

动态测试:需要执行代码,通过运行程序找到问题;

逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖

1.语句覆盖每条语句至少执行一次。

2.判定覆盖每个判定的每个分支至少执行一次。

3.条件覆盖每个判定的每个条件应取到各种可能的值。

4.判定/条件覆盖同时满足判定覆盖条件覆盖。

5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

6.路径覆盖使程序中每一条可能的路径至少执行一次。

3、软件生命周期

从软件最初构思到最终消亡(退役)的过程。

软件立项-->可行性研究-->需求分析-->概要设计-->详细设计 -->编码实现-->单元测试 -->集成测试 -->系统测试-->验收测试 -->运行维护

4、软件测试生命周期

获取测试需求

编写测试计划

制定测试方案

开发与设计测试用例

执行测试

提交缺陷报告

测试分析与评审

提交测试总结

准备下一版本测试

5、测试流程

需求测试-->概要设计测试-->详细设计测试-->单元测试-->集成测试-->系统测试-->验收测试

7、测试原则

1. 所有软件测试都应追溯到用户需求

2. 尽早的和不断的进行测试

3. 完全测试时不可能的,测试需要终止

4. 无法显示软件潜在的缺陷

5. 注意群集现象

6. 避免检查自己的程序

7. 避免测试的随意性

7、测试结束的标准是什么

全部测试用例都被执行完成

未修改bug都被确认或置为应有状态,暂缓修改的问题都有详尽的解析

测试报告编写完成

测试收尾工作结束

测试总结完成

项目处于试运行或上线阶段

在测试计划中定义结束的标准:在一定性能下平稳运行多少天、本版本没有严重bug,普通buh数量在多少个以下,bug修复百分之多少以上;实际测试达到上述要求,由项目、开发、测试经理共同签字,认同测试结束,版本即可发布。

8、测试用例的内容是什么?

用例编号

测试概述或用例标题

优先级

前置条件

输入数据

测试步骤

预期结果

8、设计测试用例方法 

1. 黑盒测试

等价类划分法:将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类

边界值分析法:是通过优先选择不同等价类间的边界值覆盖有效等价类和无效等价类来更有效的进行测试,因此该方法要和等价类划分法结合使用。

正交试验法:正交是从大量的试验点中挑选出适量的、有代表性的点

状态迁移法:是对一个状态在给定的条件内能够产生需要的状态变化,有没有出现不可达的状态和非法的状态

判定表分析法:判定表是分析和表达多种输入条件下系统执行不同动作的工具,

因果图法:因果图是用于描述系统输入输出之间的因果关系、约束关系。

2. 白盒测试

静态:

动态:逻辑覆盖法,程序插桩技术,基本路径法,符号测试,错误驱动测试

用例评审都有哪些人参加?怎么做的?有什么标准?

参加人员:测试人员、开发人员、产品人员

会议评审

标准:

1. 用例设计的结构安排是否清晰、合理,是否利于高效对需求进行覆盖。2.

2. 优先极安排是否合理。

3. 是否覆盖测试需求上的所有功能点。

4. 用例是否具有很好可执行性。例如用例的前提条件、执行步骤、输入数据和期待结果是否清晰、正确;

5. 期待结果是否有明显的验证方法。

6. 是否已经删除了冗余的用例。

 9、测试分类

(1).按开发阶段划分

单元测试(模块测试):针对软件设计的最小单位---程序模块进行正确性校验的测试工作。

目的:检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。

单元测试需要从程序内部结构出发设计测试用例;多个模块平行独立地进行单元测试

集成测试(组装测试):有序、递增的测试,持续不断的过程,持续时间比较长

在单元测试基础上,将所有程序模块进行有序、递增的测试。

基础测试是检验程序单元或部件的接口关系,逐步成为符合概要设计要求的程序部件或整个系统

确认测试(有效性测试):在模拟环境下,验证软件所有功能和性能及其他特性是否与用户预期要求一致。

系统测试:在真实系统运行环境下,检查完整的程序系统能否和系统(硬件、外设、网络和系统软件、支持平台)正确配置、连接,最终满足用户的所有需求

验收测试:按项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统;

(2).按测试技术划分

        黑盒测试(80%):通过软件外部表现来发现其缺陷和错误。黑盒测试把测试对象看出一个黑盒子,完全不考虑程序内部结构和处理过程。在程序界面处进行测试,只是检查程序是否按照需求规格说明书的规定正常实现

        白盒测试(结构测试):不管黑盒测试做得有多完全,白盒测试也有必要做。通过对程序内部结构和分析、检测来寻找问题。把测试看成一个透明的盒子里,检测是否所有结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行

        灰盒测试(接口测试):关注输出对输入的正确性

(3). 按代码运行划分

静态测试:不实际运行被测对象,而是静态检查程序代码、界面或文档中可能存在错误的过程

代码测试:主要测试代码是否符合相应的标准和规范

界面测试:主要测试软件的实际界面与需求中的说明是否相符

文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求

动态测试: 实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态还是静态测试,唯一标准就是看是否运行程序

(4). 按软件特性

功能测试(黑盒测试):黑盒测试一方面,检查实际软件功能是否符合用户需求

性能测试:关注软件中某一功能在指定的时间、空间条件下,是否使用正常。主要有时间性能和空间性能。指标:并发用户数,吞吐量,响应时间,资源利用率,tps与hps,交易成功率

安全性测试:验证按在系统内的包含机制能否在实际应用中对系统进行保护使之不被非法入侵,不受各种因素干扰

(5). 其他测试

回归测试:对软件新版本测试时,重复执行之前某一个重要版本的测试用例(测试过程)

目的:验证之前版本产生所有缺陷是否已被修复;确认修复这些缺陷没后引发新的缺陷 

冒烟测试(可行性测试):先验证一下软件基本功能是否实现,在对一个新版本进行系统大规模测试

10、测试报告和版本报告的区别?

测试报告是对整个测试过程与结果的总结,而版本报告只是针对测完版本的总结。

需求评审都有哪些人参加?怎么做的?有什么标准?

参加人员:测试人员、开发人员、产品人员。

以会议形式评审。

评审的标准

        完整性审查:应保证测试需求能充分覆盖软件需求的各种特征,重点关注功能要求、数据定义、接口定义、性能要求、安全性要求、可靠性要求、系统约束等方面,同时还应关注是否覆盖开发人员遗漏的、系统隐含的需求;

        准确性审查:应保证所描述的内容能够得到相关各方的一致理解,各项测试需求之间没有矛盾和冲突,各项测试需求在详尽程度上保持一致,每一项测试需求都可以作为测试用例设计的依据。

10、简述缺陷的生命周期?

软件测试人员提交缺陷报告;

测试负责人审核后将缺陷分配给相关开发人员修复

缺陷被修改后有测试人员根据缺陷报告中修改记录进行返测

返测通过的缺陷由负责人关闭;

返测未通过的缺陷直接返回给开发人员重新修改,然后再由测试人员返测,直到测试和开发达成一致处理意见。

11、缺陷按优先级分为哪些类型?

缺陷必须立即解决、缺陷要求正常排队等待修复、缺陷可以在方便时被纠正、下一个版本修复、不修复

13、你对app测试有了解吗?什么是app测试?怎么去测(测哪些方面)?

        了解,但是实际工作中没有测试过,其实使用app应用程序的时候就是在测试,只是没有app测试人员测试的那么全面细致,就是对手机应用的测试;从它的功能、界面和兼容、性能、易用性、安装、卸载、升级、与系统或其它软件的交互、耗电量、散热情况、流量的监控、免登陆功能、二次登陆

12、app测试性能指标

内存、cpu、流量、启动速度

13、web测试和app测试不同点

系统架构方面:

web项目,一般都是b/s架构,基于浏览器的

app项目,则是c/s的,必须要有客户端,用户需要安装客户端。

web测试只要更新了服务器端,客户端就会同步会更新。App项目 则需要客户端和服务器都更新

性能方面:

web页面主要会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory等。

兼容方面:

web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统方面的兼容

app测试则要看分辨率,屏幕尺寸,操作系统、网络。

web测试是基于浏览器的所以不必考虑安装卸载,而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景:包括安装时的中断、弱网、安装后删除安装文件 。

14、常用的进行软件测试的软件

  1. JMeter:这是一款Java编程语言的负载测试工具,用于模拟多种负载场景和测试环境,如Web应用程序、数据库服务器、FTP服务器等。它支持多种协议和数据格式,如HTTP、FTP、SOAP、JDBC等,并提供了丰富的测试元素和报告,用于模拟各种负载和压力测试。JMeter可以自动化测试流程,并且支持分布式测试,可用于测试各种复杂的系统。
  2. Postman:这是一款流行的API测试工具,用于测试和管理各种RESTful API和SOAP API。它使用简单,支持用例管理,包括get、post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。
  3. Selenium:这是一套用于自动化Web应用程序测试的工具。它支持多种编程语言,如Java、C#、Python等,可以模拟用户在浏览器中的操作,如点击、输入、选择等,从而自动执行测试用例。
  4. Appium:这是一个用于自动化移动应用程序测试的开源工具,支持iOS平台和Android平台上的原生应用、web应用和混合应用。
  5. Fiddler:这是一款流行的Web调试代理工具,用于捕获和分析网络流量和HTTP请求。
  6. LoadRunner:这是一款商业化的性能测试工具,由HP公司开发,用于预测系统行为和性能的负载测试。

15、Apppium开源、跨平台的UI自动化测试工具,支持多种语言编写的测试脚本

原理:

1. test scripts(测试脚本发送一个请求到appium server)

2. appium server接收到请求后进行解析并把请求转发给 bootstrap.jar。

3. jar接收到appium的命令,调用UIAutomator命令实现操作

4. 最终结果由bootstrap.jar返回给Appium server。

个人工作中的主观题

1、你的测试职业发展是什么?

        测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。

2、你认为测试人员需要具备哪些素质

        做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。

3、你为什么能够做测试这一行

        虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。

4、结合你以前的学习和工作经验,你认为如何做好测试。

        根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。

5、根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些角色负责,你做什么

        要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例。

11、根据你的经验说说你对软件测试/质量保证的理解

        软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及其外观排布。

13、你对SQA的职责和工作活动(如软件度量)的理解?

        SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等。

14、说说你对软件配置管理的理解

        项目在开发过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性及风险的水平。软件的规模越大,配置管理就越显得重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS,SVN等。

15、怎样写测试计划和测试用例

        测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。

16、说说主流的软件工程思想(如CMM、CMMI、RUP,XP,PSP,TSP等)的大致情况及对他们的理解

        CMM:SW Capability Maturity Model软件能力成熟度模型,其作用是软件过程的改进、评估及软件能力的评鉴。

  CMMI:Capability Maturity Model Integration能力成熟度模型集成 CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷。

  RUP:rational unified process是软件工程话过程。

  XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,像上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题有好处。

  PSP,TSP分别是个体软件过程和群体软件过程。CMM只是告诉你做什么但并没有告诉你如何做,所以PSP/TSP就是告诉你企业在实施CMM的过程中如何做,PSP强调建立个人技能(如何制定计划、控制质量及如何与其他人相互协作等等)。而TSP着重于生产并交付高质量的软件产品(如何有效的规划和管理所面临的项目开发任务等等)。总之,实施CMM,永远不能真正做到能力成熟度的提升,只有将实施CMM与实施PSP和TSP有机结合起来,才能发挥最大的效力。因此,软件过程框架应该是CMM/PSP/TSP的有机集成。

17、你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度的保证软件的质量?

        测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。

18、基于目前中国的国情,大多数公司的项目进度紧张、人员较少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量?

        出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能的,原因是没有足够的时间让你去测试,少而不规范的文档导致测试需求无法细化到足够且有针对行的测试。所以,作为公司质量保证的因该和项目经理确定符合项目本身是和的软件生命周期模型(比如RUP的建材,原型法),明确项目的开发流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,加强代码的单元测试,在客户既定的产品交付日期范围内,进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。

19、一个测试工程师应该具备哪些素质和技能?

       1、掌握基本的测试基础理论

  2、本着找出软件存在的问题的态度进行测试,不要以挑刺的形象出现

  3、可熟练阅读需求规格说明书等文档

  4、以用户的观点看问题

  5、有强烈的质量意识

  6、细心和责任心

  7、良好的有效的沟通方式(与开发人员及客户)

  8、具有以往的测试经验能够及时准确的判断出高危险区在何处

20、做好软件测试的一些关键点

       1、测试人员必须经过测试基础知识和理论的相关培训

  2、测试人员必须熟悉系统功能和业务

  3、测试要有计划,而且测试方案要和整个项目计划协调好

  4、必须实现编写测试用例,测试执行阶段必须根据测试用例进行

  5、易用性,功能,分支,边界,性能等功能行和非功能性需求都要进行测试

  6、对于复杂的流程一定要进行流程分支,组合条件分析,再进行等价类划分准备相关测试数据

  7、测试设计的一个重要内容是要准备好具体的测试数据,清楚这个测试数据是测试那个场景或分支的。

  8、个人任务平均每三个测试用例至少应该发现一个BUG,否则只能说明测试用例质量不好

  9、除了每天构建的重复测试可以考虑测试自动化外,其他暂时都不要考虑去自动话

21、软件测试员自身素质培养

       1、首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程中不管遇到什么样的困难,相信一定能克服

  2、善于怀疑,实际上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事情,我却认为可能发生,别人认为是对的,我却认为不是对的。

  3、打破沙锅问到底的精神,对于只出现过一次的BUG一定要找出原因,不解决誓不罢休。

  4、保持一个良好的心情,否则可能无法把测试做好。不要把生活中的不愉快的情绪带到工作中来。

  5、做测试时要细心,不是所有的BUG都能很容易找出,一定要细心才能找到这些BUG。

  6、灵活一些,聪明一点,多造一些容易产生BUG的例子。

  7、在有条件的情况下,多和客户沟通,他们身上有你所需要的。

  8、设身处地为客户着想,从他们的角度去测试系统。

  9、不要让程序员,以“这种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心理,并不是这样的

  10、考虑问题要全面,结合客户的需求,业务流程和系统的架构等多方面考虑问题。

  11、提出问题不要复杂化,这点和前面矛盾,如果你是一个新手,暂时不要管这点,因为最终将有你的小组成员讨论解决。

  12、追求完美,对于新测试员来说,努力追求完美,这对你很好,尽管有些事情无法做到,但你应该尝试。

22、为什要在一个团队中开展测试工作?

        因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量认证,这个时候就需要在团队中开展软件测试的工作。在测试的过程中发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

23、你所熟悉的软件测试类型有哪些?

       测试类型有:功能测试、性能测试、界面测试

  功能测试在测试工作中占有比例最大,功能测试也叫黑盒测试。

  性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

  界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。

  区别在于,功能测试关注产品的所有功能,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注产品整体的多用户并发下的稳定性和健壮性。界面测试则关注与用户体验相关内容,用户使用该产品的时候是否已用,是否易懂,是否规范(用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)。做某个性能测试的时候,首先它可能是个功能点,首先要保证她的功能是没有问题的,然后再考虑性能的问题。

24、你认为做好测试用例设计工作的关键是什么

        白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结构。黑盒测试用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。软件的黑盒测试意味着测试要在软件的接口处进行,这种方法是把测试对象看作是一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或者数据驱动测试。黑盒测试主要是为了发现以下几类错误:

  1、是否有不正确或遗漏的功能

  2、在接口上,输入是否能正确的接受?能否输出正确的结果。

  3、是否有数据结构错误或外部信息(例如数据文件)访问错误

  4、性能上是否能够满足要求

  5、是否有初始化或终止性错误

  软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构和有关信息,设计或者选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一直。因此白盒测试又称为结合测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:

  1、对程序模块的所有独立的执行路径至少测试一遍。

  2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

  3、在循环的边界和运行的界限内执行循环体。

  4、测试内部数据结构的有效性,等等。

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值