【一】什么是软件测试
以水杯为例
【1】需求测试:【水杯的使用说明书】产品经理根据用户的需求写需求文档,测试人员对需求文档进行专业的测试分析哪些内容不太合理,哪里表达不清晰。
【2】界面测试:【水杯的外观】公司中的ui设计工程师画原型图&画高保真图》让开发人员去用代码进行实现》测试人员的工作是需要拿着ui设计工程师的原型图和开发人员开发好的网站进行对比(对比的过程叫做软件测试),检查开发人员是否在进行代码开发过程中漏掉了ui设计师原型图中的某一处细节或某一个功能(也可以称之为找bug或找缺陷)。
【3】功能测试:【水杯是否漏水以及能否喝到里面的水等】简称叫做黑盒测试
&测试人员最主要的工作内容。
(1)支付功能:用微信扫码支付买早餐共计4元》扣掉了4元,为什么不是5元》微信的支付功能在正式上线让用户可以使用之前已经经过了公司内部测试人员的大量测试,所以才不会出现这样的问题。
(2)注册功能,找回密码功能,登录功能,页面的跳转功能,页面显示功能是否正常。
【4】安全性测试:【水杯的制作材料是否对人体有伤害】银行,大型的金融机构,政府机构,电商平台》和钱打交道的
【5】可靠性测试:【水杯从高处落下的的损坏程度】》可用性测试
可靠性测试:在规定时间内完成规定的事情
可用性测试:事情虽然完成,但不在规定时间范围内
可用包含可靠》可靠的一定可用,但可用的不一定可靠
eg.电梯厂商承诺在2分钟之内完成一次1-10楼的升降
1分钟完成》可用且可靠
3分钟完成==》可用但不可靠
【6】可移植性测试:【水杯在不同环境下是否能正常使用】
将一个软件移植到其他平台上所花费的成本都多少称之为可移植性测试
一个软件能否移植到其他平台称之为兼容性测试
【7】兼容性测试:【水杯除了装水之外是否还支持装其他液体】
web端:一般指网页,浏览器,不用下载就可以直接使用的页面(包括手机和电脑)
app端:一般指需要下载才可以使用的应用程序(包括手机和电脑)
(1)电脑的操作系统兼容:windows, linux, unix, xp
测试谷歌浏览器是否可以在不同的电脑操作系统下运行打开页面,能够兼容多个操作系统平台。
(2)Web端的兼容(浏览器的兼容):chrome, Firefox(火狐浏览器), IE, UC浏览器, safari浏览器。
==》浏览器版本的兼容:chrome120, chrome121
(3)App端的兼容(系统的兼容):ios, android(安卓)
》系统版本的兼容:ios9, ios10, ios11, android5.0, android6.0
》机型的兼容:ipone, 华为, 小米, 魅族, oppo, vivo
》屏幕大小分辨率的兼容:5.1的屏幕, 6.1的屏幕
》屏幕形状的兼容:大屏幕,三星的曲面屏,折叠屏,高分辨率屏幕
【8】易用性测试:【用户使用水杯是否烫手】站在用户的使用体验感角度上进行测试。
【9】性能测试:
(1)压力测试(破坏性测试):不断施加压力》突破临界值》直到最后崩溃垮掉
(2)负载测试:给定一个压力的临界值》逼近临界值》观察能够持续运行多久。
【二】IT常见的基本术语
【1】软件和硬件
(1)软件:看不见摸不着的。 eg.网站,App
(2)硬件:看得见摸得着的。 eg.电脑,鼠标
【2】PC机:个人电脑
【3】物理机:大型服务器,高配置计算机(比个人电脑配置高,价格贵,不方便携带)
【4】便携机:方便携带的高配置计算机,有的用在工业上,基建工程(有时运维出差带)
【5】OS:operating system操作系统
》电脑端:windows, linux, Unix
》手机端:ios, Android
【6】dos命令与图形化界面:调出方式
(1)电脑查找‘命令提示符’调出》输入dir表示查看当前目录下的所有命令
(2)电脑键盘windows键+R》输入cmd(大小写都可以)调出》输入dir表示查看当前目录下的所有命令
【7】共享:后面会讲一个关于共享的软件
【8】备份:U盘备份
【9】文件夹 == 目录
【10】路径:
(1)相对路径:从根目录(最上级目录)出发》目标位置的路径
(2)绝对路径:从当前位置出发==》目标位置的路径
【11】
(1)客户机与服务器:
Client -- Server ==》简称C/S架构
产品:抖音APP,微信APP,QQ APP,淘宝APP,京东APP
优点:方便携带,上传下载速度快,安全性高
缺点:服务器不方便维护,占用设备硬件资源
(2)浏览器与服务器:
Browser -- Server 》简称B/S架构
产品:淘宝浏览器网页,京东浏览器网页,官网网页等。
优点:服务器方便维护,不占设备硬件资源,资源多信息量齐全
缺点:不方便携带,网速较慢,有可能会中病毒安全性低
【12】单机软件与共享软件
(1)单机软件:不需要连网就可以用的。 eg.俄罗斯方块,word
(2)共享软件:需要联网才可以使用。 eg.APP等
【13】客户与客户需求:甲方,乙方(外包公司)
【14】项目与项目需求:项目需求是在客户的需求基础之上进行了提炼》变成了项目的需求
【15】项目组成员(项目角色):
(1)产品经理:编写并输出需求文档,对接客户和客户进行沟通
(2)项目经理:管理开发和测试经理,统筹整个项目组开展的进度,对接各个部门协同完成工作。
(3)开发经理:管理项目组的开发人员
(4)开发人员:程序员,编写项目软件的代码
(5)测试经理(TPM):test project manager 管理项目组中的测试人员
(6)测试组长(TL):test leader 分配测试任务
(7)测试人员(TE):test engineer 软件测试工程师,执行测试
(8)ui设计工程师:出页面设计稿,制作原型图,画高保真图
(9)运维工程师:维护公司项目组的开发环境和测试环境服务器的稳定。
(10)DBA:数据库管理员,管理项目组中的数据库
(11)CMO:配置库管理员,管理项目组中的配置库
(12)运营:一般对接用户,反馈用户的问题。
【三】软件测试工程师FAQ(常见问题解答)
【1】工作地点:写字楼大型互联网公司
【2】岗位划分:接口测试,ui测试,ui自动化测试,功能测试,技能测试
【3】就业范围:推荐金融性质的公司==》金融公司有钱
【4】级别薪资:
软件测试工程师助理:3 — 6K
初级软件测试工程师:6 — 9K
中级软件测试工程师:10 — 15K
高级软件测试工程师:15以上
软件测试专家/顾问: