软件测试如何好功能测试?测试大D佬精细整理总结心得,过来人的坑

91 篇文章 2 订阅
11 篇文章 2 订阅


一、前言

功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分

功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能

功能测试是测试工程师的基础功,很多人功能测试还做不好,就想去做性能测试、自动化测试

很多人对功能测试的理解就是点点点,如何自己不用心去悟,去研究,那么你的职业生涯也就停留在点点点上了

在这里,我把我对功能测试的理解写下来

二、功能测试要掌握技能

1、熟练使用SQL

  • 常用的 sql 语句一定会写,比如说增删改查之类
  • 了解数据库的事务、会编写存储过程、熟练常用的系统函数
  • 了解并可以进行数据库的备份、迁移、还原、镜像等操作
  • 对 sql 语句进行调优,并对可以对运行的语句监控查看性能
  • 了解数据库集群等操作

2、Linux

Linux是测试人员的基础功,不需要掌握太难或者很不常见的Linux命令,正常能做到查看日志,定位问题就可以了

  • 基本命令
    常用的Linux基本命令,面试经常会问的,或者给出一种场景,问你用什么命令

  • 查看日志
    初级测试人员在工作时经常遇到,发现bug,开发不承认或者不愿意解决的情况,测试人员怎么摆脱这样的问题呢?

那就是根据发现的bug根据日志级别,来查看日志,定位问题

那这里首先要说一下日志级别了

首先记住这一点:日志级别越高,输出的信息越少

具体的日志级别分为四级:

info
代码 info 信息,不包括sql语句等一些debug信息

warning warning
代码警告信息

error
程序本身报错信息 java.lang.outindexERROR…

critical
几乎用不到

一般不符合需求的bug在 debug中,程序本身报错的bug在 error中

3、使用数据库,跟数据流向

  • 数据库的本质
    常见数据库主要是MAYSQL、ORECAL、Redis
    其中Mysql数据库是典型的关系型数据库

  • 数据库操作
    数据库和表操作
    表数据操作
    复杂sql查询

4、写好测试用例

在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照

编写测试用例,是测试人员的基本功,但是真正能写好的人并不多

测试用例必须包含的内容:

用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注

1.测试用例的编写流程
需求分析->提取测试点->测试用例编写->测试用例评审

2.编写测试用例的思路
(1)根据产品的RPD,提取测试点
(2)根据数据流的走向
(3)根据的架构部署
(4)编写测试用例的常用方法:等价类划分法、边界值分析法、流程图法等
(5)覆盖弱网测试、接口测试、安全测试、性能测试等
(6)常用测试工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等

5、编写测试用例注意事项

(1)根据项目的实际情况设计测试用例表格
(2)用例格式不要生搬硬套
(3)根据具体情况编写
(4)学会质疑需求,不要完全按照需求来写测试用例,要从客户和产品的角度来理解需求,看到需求之外的功能和体验

6、管理测试用例

为什么要管理测试用例?

(1)测试用例数目巨大
(2)测试用例会根据需求的改变而改变
(3)测试用例需要长期补充完善

如何管理测试用例?

(1)原始的Excel管理
(2)专业的项目管理系统(eg:git、禅道、JIRA、Confiuence等)一般都为web格式

7、http与https协议

面试经常关于Http协议的下面几个问题
1.Http协议原理
2.http和http协议的区别
3.TCP和UDP的区别
4.session和token的区别
5.公钥和私钥的理解
6.get和post的区别
7.从输入URL到页面加载发生了什么
8.什么叫代理,正向代理和反向代理?

三、了解业务

做功能测试,一定要了解业务,甚至理解业务

只有把业务吃透,才能把功能测试做好,并且有一定的提高

业务熟悉后,会知道很多常识,知道下面的常识之后,你就可以尝试进阶,学习做自动化测试、接口测试、性能测试

1、什么时候介入自动化 => 当你系统趋于稳定的时候

2、什么时候介入接口测试=> 当接口开发完毕的时候

3、什么时候介入性能测试 => 当出现促销的时候,或者抢购的时候(618大促,过年抢火车票,抢优惠券)

比如说,5000张优惠券,大概有多少人抢,在多长时间内抢完

四、bug管理

做功能测试,还有个很重要的工作就是bug管理,一个优秀的的测试人员,线上bug非常多,多于和你一起工作的其他同事,但是线上bug非常少,少于其他同事

1、bug定义

(1)不符合需求的
(2)程序本身报错
(3)不符合用户的使用习惯

2、bug生命周期

当我们测试人员提交一个bug的时候,自始bug就有它的生命周期,从开始到结束

3、bug单内容

Bug描述(summary)

环境信息:操作系统/数据库/浏览器/软件版本 (OS/Database/Project/Build/Release)

所属功能模块、测试/开发人员、严重等级(1-5)、客户优先级、风险程度、状态、重现步骤、实际结果、是否要回归问题等

4、测试报告

把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据

同时为软件验收和交付打下基础测试报告和测试计划一样,一般由测试leader编写,测试人员需要了解

一下测试报告中都有哪些内容

五、典型bug

1、抓包作用: 测试一个app搜索功能,抓包,抓到一个搜索接口,突然发现抓到了两个请求接口 -> 当访问量上来了,服务的压力上升两倍

2、数据流走向 : 测试时候发现页面上数据只有一条,但是数据库里面多了一条 -> 1、数据量变大,查询变慢 2、脏数据太多,瞬间爆满,程序崩溃了

3、弱网测试:app项目一定要有弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

六、总结

总结下来,做好功能测试并不是一件容易的事情。我做了两年的互联网功能测试来,还是很多知识不明白,只有不断的学习,自己才能成才

很多人功能测试都做不好,就想做性能测试、自动化测试,其实是好高骛远,我觉得基础打好了,再去学习性能测试、自动化测试什么什么的,肯定事半功倍


请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值