关于测试的知识点总结【一】

1、什么是软件测试?软件测试的目的与原则是什么?

软件测试就是在规定的条件下对程序进行操作,以发现程序的错误,衡量软件的质量,并对其能否满足设计要求进行评估的过程。

  • 软件测试的目的:
    测试是程序的执行过程,目的在与发现错误
    一个成功的测试用例就是为了发现至今没有发现的错误
    一个成功的测试是发现至今没有发现错误的测试
    确保产品完成了他说承诺或者公布的功能,并且用户可以访问到的功能都有明确的书面说明
    确保产品满足性能和效率的要求
  • 软件测试的原则:
    程序员应避免测试自己编写的程序
    编写软件的组织不应该测试自己编写的软件
    测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料的输入情况
    应该避免测试用例用后即弃,除非软件本身就是一个一次性软件
    计划测试工作时,不应该默许假定不会发现错误

2、简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 、β测试?好的测试用例设计工作的关键是什么?

  • 静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
  • 动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能
  • 黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性
  • 白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现
  • α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
  • β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

设计测试用例的关键是使用较少的用例去覆盖尽可能多得内部程序逻辑结果,以最少的用例在合理的时间内发现最多的问题。

3、单元测试,集成测试,系统测试的测试对象,目的,测试依据和测试方法分别是什么?

  • 单元测试是开发者编写的一小段代码,用于检测被测代码的一个很小的,很明确的功能是否正确。
    单元测试的测试对象是模块内部的程序错误;
    目的是消除局部模块的模块逻辑和功能上的错误;
    测试依据是模块的详细设计;
    测试方法是白盒测试
  • 集成测试是单元测试的逻辑扩展,它最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
    测试对象:模块间的组装和调用关系;
    目的是找出与软件设计相关的程序结构模块调用关系,模块间接口方面问题;
    测试依据是概要设计
    测试方法是灰盒测试
  • 系统测试是将经过测试的子系统装配成一个完整的系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法
    测试对象是整个系统
    目的是对整个系统进行测试
    测试的依据是需求规格说明书
    测试方法是黑盒测试

4、你所熟悉的设计测试用例的方法有哪些?

白盒测试:逻辑覆盖、循环覆盖、路径覆盖
黑盒测试:边界值分析法、等价类划分、错误猜测、因果图法、状态图法、随机测试、测试大纲法

5、软件的生命周期及其模型

软件的生命周期又称为软件生命期,是指从形成开发软件概念其,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。计划阶段,需求分析,设计阶段,编码,测试,运行和维护。

几种典型的周期模型(不止以下几种)
瀑布模型
快速原型模型
迭代模型

6、测试按照对象划分可以分为哪几种?

  • 性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常附在条件来对系统的个性性能指标进行测试。负载测试,容量测试和压力测试都属于性能测试
  • 易用性测试:符合人体工程学范畴,具有直观性和舒适性,比如安装软件时候的进度条
  • 安全测试:需要更多的专业知识,例如Web的安全性测试,就需要数值TCP/UDP协议
  • 兼容性测试:Web端和app端,例如测试软件能否和其他软件兼容
  • 界面测试:软件与用户交互最直接的层。例如模块布局,控件位置,页面美观,文字,图片等。
  • 安装测试:软件的安装和卸载

功能测试和性能测试的区别是什么?

功能测试关注产品的所有功能,要考虑每个细节功能,每个可能存在的功能问题。性能测试主要关注产品整体的多用户并发下的稳定性和健壮性。做某个性能测试的时候,首先他可能是个功能点,首先要保证他的功能是没有问题的,然后再考虑该功能点的性能测试。

7、一条软件bug记录都包含了哪些内容?

  • bug编号
  • bug的严重级别,优先级
  • bug产生的模块
  • bug摘要和bug产生的大体内容
  • bug对应的版本
  • bug的详细现象描述,包括截图和录像等
  • bug出现时的测试环境,产生条件以及对应的操作步骤

8、黑盒测试和白盒测试优缺点分别是什么?

黑盒测试的优点:比较简单,无需了解程序内部的代码以及实现;羽然间的内部实现无关;从用户的角度出发。很容易的知道用户会用到哪些功能,基于软件开发文档,所以也可以知道软件文档中实现了文档的哪些功能。
缺点:不可能覆盖所有的测试用例。大概只能达到代码量的30%;自动化测试的复用性较低

白盒测试优点:帮助软件测试人员增大代码的覆盖率,提高代码质量,发现代码中隐藏的错误
缺点:程序运行可能有不同的路径,不可能测试所有的运行路径,测试是基于代码,只能测试开发人员指导做的对不对不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大的时候,测试开销会更大。

9、设计测试用例的原则是什么?

代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等.

可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果.

可再现性:即对同样的测试用例,系统的执行结果应当是相同的。

10、水杯的测试用例

功能度:用水杯装水看漏不漏;水能不能被喝到

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

发布了42 篇原创文章 · 获赞 13 · 访问量 1757

猜你喜欢

转载自blog.csdn.net/Vicky_Cr/article/details/105370048