初级软件测试知识

作为一个刚刚入门的软件测试人员,我认为软件测试的门槛虽然比较低,但是想要进阶成为高级测试人员也是需要时间、经验、技术的累积。如今基于点点点的手工测试已经趋于饱和,很多测试人员也是急于跳脱目前的舒适圈,转而学习自动化测试来寻求更好的发展。软件测试跟开发一样,有初级测试,中级测试,高级测试。任何职业发展都是一个循序渐进的过程,要想在软件测试行业站稳脚跟,就得脚踏实地地从手工测试开始。当然,测试是跟程序打交道,所以了解一两门开发语言,了解项目开发流程是前提。我认为初级软件测试学习是整个测试阶段最重要的部分,是打地基的过程,从手工测试开始,需要掌握到的是设计测试用例的方法,除此之外掌握一些测试工具也是必要的。

1.测试用例编写

1.1 设计测试用例的依据

根据需求文档,项目设计文档,接口文档,系统使用手册等来设计测试用例。
重点是要理清项目的流程,核心模块,实现的主要功能。
还应该在开发过程与测试过程之间建立起一对一的联系。
一般的软件测试生命周期:
需求分析-用例设计-脚本开发-测试执行-结果分析
但在实际测试过程中,会根据项目的周期来调整测试的时间。

1.2最常接触的基础测试类别

1.2.1模块测试

  • 模块测试的目的是发现程序模块与其接口规格说明之间的不一。

1.2.2功能测试

  • 功能测试的目的是为了证明程序未能符合其外部规格说明。

1.2.3系统测试

  • 系统测试的目的是为了证明软件产品与其初始目标不一致。

1.2.4敏捷测试

  • 敏捷测试:敏捷测试是遵循敏捷宣言的一种测试实践:
    ①强调从客户的角度,即从使用系统的用户角度,来测试系统。
    ②重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。
    ③建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。

当然还有一些细分的测试类别:
1、功能测试:确保程序的目标功能实现。
2、容量测试:
发现处理大容量数据时的程序异常 。
3、强度测试:
发现在大规模负载、高强度不间断持续的数据处理中的异常。
4、可用性测试:
评估最终用户在使用软件并与软件交互时的可用性问题。
5、安全性测试:
试图攻破程序的安全防线。
6、性能测试:
评估程序的响应时间以及吞吐量瓶颈。
7、存储测试:
确保程序可以正确处理其对存储的需求,包括系统的存储和物理上的存储。
8、配置测试:
检查程序是否能在推荐配置上流畅运行。
9、兼容性/转换测试:
评估新版本是否能兼容老的版本。
10、安装测试:
确保能够在所有支持的平台上安装软件。
11、可靠性测试:
评估程序能否达到规格说明中的运行时长和MTBF(平均故障间隔时间)要求。
12、可恢复性测试:
测试系统恢复相关的功能是否按设计要求实现。
13、服务/可维护性测试:
评估系统是否拥有良好的数据处理和日志机制,以备技术支持和调试之需。
14、文档测试:
检验所有的用户文档是否准确。
15、过程测试:确保接口的流通性

1.3测试用例设计方法

1.3.1功能测试用例设计
针对系统或模块常用的两大设计方法

  • 基于用户场景
  • 基于功能点
    一般用户场景和功能点设计是结合使用的。
    其中针对每个功能或者模块设计时还要结合使用黑盒测试的方法:
    -- 等价类划分
    --边界值分析(五点法,七点法)
    --因果图分析(输入条件组合对功能有影响的情况)
    --错误推测法

在设计测试用例时要保证测试用例的覆盖率和简洁高效。
测试用例不是越多越好。
能发现缺陷的用例才是好用例!
1.3.2接口测试用例设计
通常,设计接口测试用例需要考虑以下几个方面:

  • 是否满足前提条件

有些接口需要满足前置条件,才可成功获取数据。常见的,需要登陆Token。

逆向用例:

针对是否满足前置条件(假设为n个条件),设计0~n条用例

  • 是否携带默认值参数

正向用例:

带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其它不填写,设计1条用例;

  • 业务规则、功能需求

这里根据实际情况,结合接口参数说明,可能需要设计n条正向用例和逆向用例

  • 参数是否必填
    正向用例:
    设计1条只传必填参数的测试用例。
    设计1条必填参数、可选参数都传的测试用例。

逆向用例:

针对每个必填参数,都设计1条参数值为空的逆向用例

  • 参数之间是否存在关联

有些参数彼此之间存在相互制约的关系

逆向用例:

根据实际情况,可能需要设计0~n条用例

  • 参数数据类型限制

逆向用例:
针对每个参数都设计1条参数值类型不符的逆向用例

  • 参数数据类型自身的数据范围值限制

正向用例:

针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例

逆向用例:

针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最大值的逆向用例

针对每个参数(假设n个),设计n条每个参数的参数值都小于数据范围最小值的逆向用例
总结 :以上几个方面考虑全的话,基本可以做到如下几个方面的覆盖:

主流程测试用例:正常的主流程功能校验;

分支流测试用例:正常的分支流功能校验;

异常流测试用例:异常容错校验。

具体设计方法还是根据接口文档具体分析,适当地减少冗余测试用例,但也要做到全面,尽可能覆盖后台的逻辑代码。
设计web接口测试用例就是模拟不同的参数去覆盖更多的代码逻辑,尽量把web接口的每一种返回结果都测到。
重点是理解接口测试概念,接口的请求协议http,https,请求方法get,put等,响应状态码,请求/返回数据格式:xml,json等。

2.测试工具

2.1 excel测试用例表格写测试用例
2.2 postman接口测试工具

测试写好的每一条接口测试用例,分析返回结果。
只能一条一条写接口请求,不过还是比较常用和方便的。

2.3 chrome浏览器的开发者工具f12打开。

常用到的工具栏elements,console,sources,network(最常用)。
一般要观察network的XHR(前端写的请求),可以定位前后端报错具体是前端报错还后端报错。
XHR的每一条请求要看请求信息,响应信息,timing(Waiting(TTFB),Content Download:性能方面)
elements:styles样式栏可以调页面样式,UI测试可能会用到。

2.4 java的junit测试框架

目前接口自动化是最容易实现和维护的,所以初级阶段也要掌握一种测试框架实现接口测试的自动化。
java软件推荐:IDEA(智能提示比eclipse好)

2.5 git和github代码管理工具

写测试脚本时可以通过git进行本地代码管理,不需要联网,便于修改,维护,合并,同步,也可以上传到github上进行代码托管,但免费上传的是公开的,可以被人查看和下载,付费的才是私密的,不允许被外人查看。

2.6 tower文档管理

项目管理,文档管理,任务发布等,是一个在线的办公协作工具。

2.7其他测试工具

以下推荐的工具是目前测试人员常用的主流工具,初级一般用不到几个,中高级用的多。
接口测试工具:HttpRequester,postman等。
接口自动化测试工具:JMeter,Robot Framework,soapUI等。
接口性能测试工具:主要是用于测试接口的性能测试,验证接口处理并发的能力,如JMeter,LoadRunner,soapUI等工具。
UI自动化测试:selenium,Katalon Recorder(可以录制界面脚本)。
QTP是一个侧重于功能的回归自动化测试工具。
抓包工具:Fiddler,wireshark(比较专业)
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。常用来抓app包。

3、数据库

了解数据库是必要的,测试过程中会进行数据库校验,看数据有没有写入或更改,这时候就要用到数据库的数据操作:增删改查等。
数据库软件推荐:DataGrip

个人博客地址:Jared FreeTime

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355