对测试开开发的认知

1. 软件测试的八个原则:

2. 从一个例子了解测试的逻辑

  • 网站测试:

    1、查找需求说明、网站设计 m 等相关文档,分析测试需求。
    2、制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
    3、设计测试用例:

功能性测试可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页 面,是否有不正确的出错信息返回等。提交功能的测试。多媒体元素是否可以正确加载和显示。多语言支持是否能够正确显示选择的语言等。

界面测试可以包括但不限于一下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但为安装的空间,是否提供自动下载并安装的功能
文字检查

性能测试一般从以下三个方面考虑:压力测试; 负载测试; 强度测试

数据库测试要具体决定是否需要开展。数据库一般需 要考虑连结性,对数据的存取操作,数据内容的验证等方面。

安全性测试基本的登录功能的检查,是否存在溢出错误,导致系统崩溃或者权限泄露。关开发语言的常见安全性问题检查,例如 SQL注入等。如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持兼容性测试,根据需求说明的内容,确定支持的平台组合:兼容性包括:浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性。

4、开展测试,并记录缺陷。
根据测试用例,开发自动测试脚本和场景:
执行测试,获取测试结果,分析测试结果

3. 黑盒测试

黑盒测试常用的方法:

  1. 等价类划分

等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。

  1. 边界值分析法

边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

  1. 因果图法

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

  1. 错误猜测法

基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为 0 的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

4. 白盒测试

白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,白盒指的是程序的内部结构和运作机制是可见的。

  1. 白盒测试的目的

通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设置检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

  1. 白盒测试的方法:

1.语句覆盖:每条语句至少执行一次。
2.判定覆盖:每个判定的每个分支至少执行一次。
3.条件覆盖:每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖:同时满足判定覆盖条件覆盖。
5.条件组合覆盖:每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖:使程序中每一条可能的路径至少执行一次。

  1. 白盒测试关注重点:

1、单元接口。 2、局部数据结构。 3、独立路径。 4、出错处理。 5、边界条件

5. 按照过程阶段划分测试

可以分为单元测试、集成测试、系统测试和验收测试

  1. 单元测试:

通过模块(类/方法/函数)测试,使代码达到设计要求
主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。

  1. 集成测试

将经过单元测试的模块逐步组装成完整的程序。 主要目的是检查各单元与其它程序部分之间的接口是否存在问题,各模块功能之间是否有影响。

  1. 系统测试

是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起进行测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方 ,进行改正。

  1. 验收测试

验收测试是在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的最后一次软件测试活动,也称为交付测试。
通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要。

6.几种常用的测试

  1. 兼容性测试策略

兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。

兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。

  1. 强度(健壮性)测试策略

强度测试是为了确定系统在最差工作环境的工作能力,也可能是用于验证在标准工作压力下的各种资源的最下限指标。

它和压力测试的目标恰好相反。压力测试是在标准工作环境下,不断增加系统负荷,最终测试出该系统能力达到的最大负荷(稳定和峰值)
而强度测试则是在非标准工作环境下,甚至不断人为降低系统工作环境所需要的资源,如网络带宽,系统内存,数据锁等等,以测试系统在资源不足的情况下的工作状态,通过强度测试,可以确定本系统正常工作的最差环境.

强度测试和压力测试的测试指标相近,大多都是与时间相关的指标,如并发量(吞吐量),延迟(最大最小平均)以及顺序指标等
强度测试需要对系统的结构熟悉,针对系统的特征设计强度测试的方法

  1. 压力测试策略

压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。通过不断增加用户数和访问量,测试系统的极限以及在极限情况下系统的性能。

  1. 性能测试(强度+压力)

常见指标:
吞吐量:每秒钟系统能够处理的请求数、任务数。
TPS:并发数/ 平均响应时间
并发数: 系统同时处理的request/事务数
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
内部指标:CPU、内存、服务器负载、网络、磁盘IO
https://blog.csdn.net/hahavslinb/article/details/78673267

  1. 兼容性测试策略

(1)测试软件是否能在不同的操作系统平台上兼容;
(2)测试软件是否能在同一操作系统平台的不同版本上兼容;
(3)软件本身能否向前或者向后兼容;
(4)测试软件能否与其它相关的软件兼容;
(5)数据兼容性测试,主要是指数据能否共享;

7.测试用例设计经典面试题——电梯,杯子,笔,桌子,洗衣机

https://blog.csdn.net/slforeverlove/article/details/47080279

参考:https://blog.csdn.net/qq_43517875/article/details/111028009

来源:Alotyou_dontknow

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月4日
下一篇 2021年6月4日

相关推荐