一、软件分类基础知识
应用软件:例如:QQ、微信、腾讯课堂、等一些APP/客户端
系统软件:例如:windows、XP、linux、mac等
二、软件测试的定义理解
1.为发现程序存在的代码或者业务上的逻辑错误
2.检验产品是否符合用户的需求
3.软件测试不仅仅是为了发现BUG
4.软件测试是为了提高用户的体验度
5.软件测试 所做的操作都是为了找出更多的问题,而不仅仅验证每一件事是正确的。
三、软件测试的原则
1、测试应尽早的介入,尽早的发现BUG,尽早的去解决bug、节约成本
2、所有的测试都应该追溯到用户需求
没有测试文档情况下
1)凭经验
2)参照竞品-参照竞争对手的产品去做
3、程序员要避免检查自己的程序,除单元测试,程序员对自己的作品、具有思维局限性,无法保证测试质量,交给第三方或者专业测试,运用各种测试技术以及丰富的测试经验和对bug的敏感,去提高软件的质量。
4、对错误结果要进行一个确认过程
1)发现了bug,一定要去重现(复现、再线、截图)
2)发现bug就不要放过,哪怕不能重现,该截图截图(备注一个偶现bug)
5、制定严格的测试计划
6、测试是需要终止的
1)测试时间节点,上线日
2)没有重大bug
7、妥善保存测试过程中的所有文档
1)保存证据不背锅、防止被卖
2、防止需求变更频繁,不要覆盖文档,使用另存法
满足参考点,测试需要终止
四、测试对象
1、程序
2、数据
3、文档
五、软件测试的分类
1、测试阶段划分
单元测试:开发测试–对软件中的单个模块进行测试
集成测试:把各个模块组装起来/链接起来,在测试模块接口的数据有没有丢失。可以开发测、可以测试测
系统测试:
1)测试整个软件系统有没满足用户所规定的需求
2)把所有的功能模块,集合成一个系统
验收测试:
部署软件之前的最后一个测试操作,确保软件准备就绪
验收测试下分为:
1)正式验收:需要像系统测试一样,有一个完成的测试活动
2)Alpha测试:公司内部模拟测试(内测)在模拟用户使用的环境下,进行验收测试
3)Beta测试:在真实用户使用的环境下,进行验收测试,现实环境中测试(公测)
2、测试技术划分
白盒测试:主要针对的是程序代码逻辑
黑盒测试:针对的是程序所展现给用户的功能,不在乎内部程序是怎么运行的,关注的是输入和输出
灰盒测试:涉及输入和输出
3、被测试对象是否运行划分
1)动态测试:产品有没有在运行
2)静态测试:文档检查、代码走查、UI界面检查
4、按不同的测试手段划分:
1)手工测试
2)手动操作、点点点
3)自动化测试
4)使用可利用到的工具
5、测试包含的内容划分:
功能测试:
1)对产品的各个功能验证,检查产品是否达到用户要求的功能
2)黑盒测试=系统测试=点点点
安全测试:
1)系统是否存在漏洞
2)测试该系统防止非法入侵的能力
界面测试:
1)界面上的一些色彩搭配、整体布局、文字的距离、样式是否统一等…..
兼容测试:
1)在不同操作系统、不同的浏览器、与其他软件的兼容性等……
易用测试:
1)觉得不好用就可以提,站在用户的角度去体验
性能测试:
1)是为获取或验证系统性能指标而进行测试,多数情况下,性能测试会在不不同负载情况下进行。
负载测试:
1)是通过改变系统负载的方式、增加负载等来发现系统中所存在的性能问题,更多的体现了一种方法或一种技术
压力测试:
1)分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试,主要为了确定系统稳定性。
恢复测试:
1)主要检查系统的容错能力,采用各种方法强迫系统失败,然后验证系统能否在制定时间间隔内尽快恢复并重新启动系统。
6、其他测试
1)冒烟测试:
2)确认软件既保暖功能正常,可以进行后续的正式测试工作
回归测试:
1)确认bug被修复
2)确认与之相关联的功能没有受到影响
六、常识普及
C/S架构
1)必须要安装一个客户端才能使用的软件
优点:安全性能可以很容易保证,实现多层认证也不难
缺点:每次更新都需要更服务端/客户端
B/S架构
1)只需要一个浏览器,就可以访问服务器
优点:不需要安装客户端,只需要一个web浏览器就可以使用,用户主动性比较高,比如天猫、淘宝
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!