1、什么是软件
控制计算机硬件工作的工具。
2、什么是软件测试
使用技术手段验证软件是否满足使用要求。
3、软件测试的目的
减少软件缺陷,保障软件质量!
1.发现软件缺陷
2.尽可能早的找出软件缺陷,并且确保缺陷得到修复
软件产生过程:
需求产生(需求方、产品经理)=》需求文档(产品经理)=》设计效果图(UI设计师)=》产品开发(研发人员)=》产品测试(测试人员)=》部署上线
功能测试、自动化测试、接口测试、性能测试
功能测试:测试主要验证程序的功能是否满足需求
自动化测试:使用代码或工具代替手工,对项目进行测试。
接口测试:使用代码或工具验证程序中的接口是否访问正常。
性能测试:模拟多人使用软件,查找服务器缺陷。
常见测试分类
1、按阶段划分
单元测试:针对程序源代码进行测试
集成测试:针对程序接口进行测试
系统测试:针对程序功能、非功能进行测试。
验收测试:使用不同用户(内测、公测)进行测试
2、按代码可见度分
黑盒测试:不关注源代码,只关注程序UI功能进行测试
灰盒测试:针对程序部分代码进行测试(接口)
白盒测试:针对程序源代码进行测试
3、其他:
性能测试:归属专项测试
自动化测试:归属功能测试
软件质量的八大特性
功能性: 软件是否提供了相应的功能。
可靠性: 产品在规定的条件下,在规定的时间内完成规定功能的能力
易用性: 在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力
效率: 在规定的条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
维护性: “四规”, 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力
可移植性: 从一种环境迁移到另一种环境的能力
兼容性: 产品在不同平台,不同设备,不同仪器上运行情况,是否稳定
安全性: 产品在数据安全,网络安全方面是否有相应的防护措施
软件缺陷的定义
1、软件没有实现产品的说明书所描述的功能。
2、软件实现了产品说明书描述不应有的功能。
3、软件执行了产品说明书没讲的操作。
4、软件没有实现产品说明书没讲但应该实现的功能。
5、从软件测试员的角度来看,软件难以理解、不易使用、运行缓慢,或者最终用户认为不对。