一、什么是软件:
1、软件是计算机程序、程序所用的数据以及有关文档资料的集合
qq---计算机程序
程序所用的数据 账号登入 展示账号的好友列表---程序的数据
软件=程序+数据+文档----------软件测试对象有哪些
2、软件是计算机的灵魂,软件又可以分为两大类:系统软件和应用软件
系统软件:系统软件是生成,准备和执行其他程序所需要的一组文件和程序。如系统Windows,
数据库SQL-server,驱动程序,Java语言环境系统编译环境等。
应用软件:计算机用户为了解决某些具体问题而购买,开发或研制的各种程序或软件包,如app,qq,微信等。
二、应用软件:C/S与B/S架构
B/S架构:browser-server 浏览器服务器 比如:淘宝、京东
三、软件测试是什么?
软件测试的定义:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间差别。
四、我们为什么要做软件测试,它目的是什么?
1)软件测试为了发现程序(软件)存在的代码或业务逻辑错误
2)软件测试为了检验产品是否符合用户需求
3)软件测试为了提高用户的体验
五、软件测试的分类
1、按测试阶段划分:单元测试、集成测试、系统测试、验收测试
单元测试:对模块/函数进行的测试(对代码进行测试,执行者:开发人员)
集成测试:把多个模块/函数组装到一起进行的测试(对代码进行测试 执行者:开发人员)
系统测试:计算机程序结合外设+网络等其他元素进行的测试 比如:qq 执行者:测试人员
验收测试:主要以用户为主进行的测试,分为:
1.Alpha测试:把用户请到开发方对软件进行的测试,测试环境受开发方控制,测试人不多,测试时间比较集中
执行者:测试人员、用户、公司内部人员
2.Beta测试:测试环境不受开发方控制,测试人比较多,测试时间不集中
两者的最大区别:
1)测试场所不一样
2)一般先做Alpha测试再做Beta测试
2、按测试技术划分(是否查看代码划分):黑盒测试、白盒测试、灰盒测试
黑盒测试:只需要关注外部的输入与输出,不需要关注程序内部的逻辑
白盒测试:需要关注内部逻辑具体实现,而不需要关注外部的输入与输出
灰盒测试:需要关注外部的输入与输出,也需要关注内部逻辑具体实现(两者都需要关注)
3、被测试对象是否运行划分:动态测试、静态测试(文档检查、代码走查)
动态测试:运行被测系统,而进行的测试
静态测试:不需要运行被测系统,而进行的测试(界面检查、文档检查、代码走查、桌面检查)
4、按不同的测试手段划分:手工测试(点点点)、自动化测试(替代手工 工具/写代码)
5、按测试包含的内容划分:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试
功能测试:验证软件的业务功能是否符合需求
界面测试:被测系统的界面与原型图是否一致
安全测试:对被测系统的安全测试(对账号多次进行输入用户名密码,是否允许输入 sql注入)
兼容性测试:被测系统在不同测试环境夏是否正常(淘宝(b/s))浏览器:ie/谷歌/火狐
易用性测试:被测系统的各个功能是否操作方便、是否容易理解、是否容易上手
性能测试(负载测试、压力测试):某个特定的时间,用户数量剧增,软件是否正常
6、其它测试:冒烟测试、回归测试、探索性测试/自由测试(测试思维)
冒烟测试:在进行正式测试前对主要功能核心功能进行的测试 冒烟测试一般可能开发或者主管来负责
回归测试:开发对存在问题的功能进行修改后,再一次进行的测试
探索性测试:根据自己项目经验而进行的随意测试(测试思维)