
平时总听人说软件测试员要 “测软件”,可到底测些啥呢?难道就只是点点按钮找 bug?其实测试类型多着呢,不同的测试对应软件不同的问题。今天云哥就把软件测试员主要做的测试类型拆解开,新手也能轻松看懂,一起往下看吧!
一、最基础的测试:功能测试 —— 确保软件 “能用”
- 基础问题:什么是功能测试?为什么要做?
功能测试就是测软件的 “核心功能能不能用”,比如外卖 APP 的 “选餐、下单、支付”,社交软件的 “发消息、加好友”。要是功能用不了,软件就是个空壳子,用户肯定不会用。比如之前有个聊天软件,发消息功能出问题,用户发不出去消息,上线后没几天就没人用了; - 场景问题:功能测试怎么做?哪里找测试点?
做功能测试得先写 “测试用例”,就是把测试步骤一条条列出来。比如测 “登录功能”,测试用例要包含 “输入正确账号密码登录”“输入错误密码登录”“不输入账号登录” 这些情况。测试点主要从需求文档里找,也可以结合用户日常使用场景想,比如用户可能会输错密码、忘填账号,这些都得测; - 解决方案:如果不做功能测试,会怎样?
要是不做功能测试,软件里的基础功能可能有问题。比如购物 APP “下单后不扣库存”,用户能无限下单,商家得赔很多钱;或者 “支付后订单不生成”,用户付了钱却没订单,会投诉退款,影响软件口碑。
二、影响体验的测试:性能测试 —— 确保软件 “好用”
- 基础问题:什么是性能测试?为什么要做?
性能测试就是测软件 “用起来顺不顺畅”,比如同时有 1000 人用软件会不会卡、打开一个页面要多久、会不会闪退。要是软件很卡,用户没耐心等,就会卸载。比如之前有个游戏 APP,上线时很多人同时登录,结果卡得进不去,好多用户直接弃坑了; - 场景问题:性能测试怎么做?用什么工具?
做性能测试要用到专门的工具,比如 “JMeter”“LoadRunner”。比如测 APP 的登录性能,用 JMeter 模拟 1000 个用户同时登录,看登录成功率、平均登录时间。要是成功率低于 95%,或者平均登录时间超过 3 秒,就说明性能不达标,得让开发优化; - 解决方案:如果不做性能测试,会怎样?
不做性能测试,软件在用户多的时候就会出问题。比如电商平台 “双十一” 促销,很多用户同时下单,软件可能会崩溃,用户付不了钱,平台会损失大量订单;或者软件用久了越来越卡,用户慢慢就不用了。
三、覆盖更多用户的测试:兼容性测试 —— 确保软件 “人人能用”
- 基础问题:什么是兼容性测试?为什么要做?
兼容性测试就是测软件在 “不同设备、不同系统上能不能用”,比如手机 APP 要测华为、小米、苹果等不同品牌的手机,还要测安卓 10、安卓 13、iOS 15 等不同系统版本。要是软件只在某款手机上能用,其他手机用不了,就会流失很多用户; - 场景问题:兼容性测试怎么做?需要准备哪些设备?
做兼容性测试得准备不同的设备,要是公司设备不够,也可以用 “云测试平台”(比如 Testin),上面有很多虚拟设备。测试时要测软件的核心功能,比如在不同手机上打开 APP、登录、用核心功能,看有没有界面错乱、按钮点不了的情况; - 解决方案:如果不做兼容性测试,会怎样?
不做兼容性测试,很多用户用不了软件。比如有个 APP 没测老旧安卓手机,安卓 8.0 以下的手机打开就闪退,而很多老人用的就是老旧手机,这部分用户就用不了;或者苹果手机上界面错乱,苹果用户体验差,也会卸载。
四、保护用户信息的测试:安全性测试 —— 确保软件 “用得放心”
- 基础问题:什么是安全性测试?为什么要做?
安全性测试就是测软件 “会不会泄露用户信息、有没有安全漏洞”,比如用户的账号密码会不会被偷、支付信息会不会被截获。要是软件不安全,用户信息被泄露,不仅用户会受损失,软件还可能被监管部门处罚; - 场景问题:安全性测试怎么做?重点测哪些点?
安全性测试重点测 “登录安全”(比如密码会不会明文存储)、“数据传输安全”(比如用户信息传输时会不会加密)、“权限控制”(比如普通用户能不能看到其他用户的信息)。比如测登录安全,看软件会不会把密码存在本地文件里,要是存在本地,别人拿到手机就能看到密码; - 解决方案:如果不做安全性测试,会怎样?
不做安全性测试,软件容易被黑客攻击。比如黑客通过安全漏洞获取用户的通讯录、聊天记录,然后用来诈骗;或者黑客破解用户账号,盗刷用户的支付账户,给用户带来财产损失,软件也会彻底失去用户信任。
五、自问自答:新手最关心的测试类型问题
- 问:这些测试类型,是不是每个软件都要做?
答:大部分都要做!功能测试、兼容性测试是每个软件必做的,不然软件没法用、用户覆盖少;性能测试要看软件的用户量,要是用户少(比如公司内部用的软件),可以简单测测;安全性测试要是软件涉及用户隐私、支付,就必须做,不然风险太大; - 问:新手做测试,先学哪种测试类型好?
答:先学功能测试!功能测试最基础,不用复杂工具,学会写测试用例、执行测试、找 bug 就行。等功能测试熟练了,再学性能、兼容性测试。博主经常使用的建议是,新手别一开始就学难的,先把基础打牢,后面学其他测试会更轻松。
云哥觉得,软件测试员做的不同类型测试,都是为了让软件更好用、更安全、覆盖更多用户。要是你想入行测试,得先了解这些测试类型,知道每种测试要测啥、为啥测。刚开始不用所有类型都学精,先把功能测试学好,慢慢积累经验,后面再学其他类型。希望这些内容能帮到你,让你对测试工作有更清晰的认识!
暂无评论