软件的分类:
软件的定义:一系列按照特定顺序组织的计算机数据和指令的集合。
根据应用场景分类:工具类软件,游戏型软件,媒体型软件,电商型软件等。
根据软件架构分类:单机版软件,分布式软件
1:单机版软件:office,红警等
2:分布式软件:
C/S架构软件:客户端需安装专门软件,如QQ 微信等
c/s软件端
B/S架构软件:客户端为浏览器 ,如百度、hao123等
b/s浏览器
软件测试的定义与原则:
软件测试的定义:通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
软件测试的原则:
原则一:测试显示软件存在缺陷:测试能证明软件组存在缺陷,但是不能证明软件中不存在缺陷。软件测试是为了降低存在缺陷的可能性。
原则二:穷尽测试是不可能的:想要做到完全性的测试是不可能的。
原则三:测试尽早介入:为了保证软件质量,降低风险和成本。测试介入的越早越好,缺陷发现的越早,修复的成本和损失就越小。
原则四:缺陷集群性(2/8原则):百分之八十的缺陷出现在百分之二十的模块中。
原则五:杀虫剂悖论:反复使用同样的战术和方法会导致无法杀死害虫,测试中也是一样的。
原则六:测试活动依赖于测试内容:软件测试的活动开展依赖于所测试的内容。
原则七:没有错误是好是谬论:只要是开发出的软件吗、,就不可能完美,不可能没有缺陷存在。
测试模型:
v模型:
V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。
V 模型的优点在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系
w模型:相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。
软件测试的流程:
测试准备阶段:确定项目,按照需求进行分析,对需求的进行评审。
测试计划阶段:编写测试的计划,对测试的计划进行评审。
测试设计阶段:提取测试的要点,编写测试用例,对测试用例进行评审。
测试执行阶段:冒烟测试、执行测试用例、提取bug、把测试修复好的缺陷再测试一遍。
测试完成阶段:项目上线前对软件进行测试、编写测试报告、项目上线
软件测试的分类
1.5.1 按技术划分
黑盒测试、白盒测试、灰盒测试
黑盒:只进行功能测试,不需要关心数据结构和代码。
白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法,跟黑盒测试相反。
灰盒测试:灰盒测试是黑盒和白盒的结合。(工资最高)
按阶段划分:
单元测试、集成测试、系统测试、验收测试
单元测试:对一个模块、一个函数或者一个类来进行正确性检验的测试方法
集成测试:单元测试后,将单独的模块按照设计要求组装成为子系统或系统,作为整体进行测试的测试方法
系统测试:集成测试后,将硬件、软件看作一个整体,对系统的功能及性能的总体测试
验收测试:系统测试后以用户测试为主,或有测试人员共同参与检验软件质量的测试方法
按内容划分:
功能测试、性能测试、兼容性测试
78. 浏览器的兼容性测试是怎么测试的?
大型的、用户群体多的网站都需要做浏览器兼容性测试,需要测试主流的浏览器(除特定要求的浏览器以外)测试的内容:一般是页面的排版,页面格式,字体,颜色,下拉菜单,复选框等测试(UI:CSS,HML,Js在不同浏览器下的表现)再就是对功能进行检查为什么选择这几个浏览器?原因:以浏览器内核分类浏览器进行测试常见浏览器及四大内核:IE、360(兼容模式)、搜狗(兼容模式)(Trident内核)Firefox(Gecko内核)Chrome、360(极速模式)、搜狗(极速模式)(Blink内核)Apple Safari(WebKit内核)
按其他划分:
冒烟测试、随机测试、安全性测试、探索性测试、回归测试、Alpha测试、Beta测试
24. 开发环境与测试环境有什么区别?
开发环境:是在编码阶段,一般我们的代码基本上都是在开发环境中,不会再生产与测试环境,如操作系统,web服务器,语言环境,php,数据库等等。测试环境:项目完成后,找Bug,以及修改Bug。生产环境: 项目数据前后端已经疏通,部署到阿里云上有客户去使用以及访问,网络正常运行就好了。
测试计划
测试计划介绍:
定义:制定测试目的,范围,方法,时间进度以及软件测试重点的过程。
测试计划模板内容:
测试目的、测试资源、测试范围、测试风险、人员分工、测试策略、测试准则、测试进度、提交测试文档。
只要第一项和最后一项的位置是固定的,其他都可以微调位置
封面和目录:
封面:测试计划,编写人,编写时间等,可以表格,也可以文字描述。目录:自动生成
测试目的:
测试目的编写结构:
1.目的的总体概述,2.包含详细描述
测试目的编写内容:
对项目测试进行整体描述,不用过于详细。详细描述各个模块、功能具体要做什么样的测试,bug解决情况,以及相应的上线时间。
测试资源:
人力资源:
职务,姓名,职责:介绍相应职务应该所作工作职责,在部门中所担负的职责。
系统资源:
软件资源:这部分描述测试需要的软件的版本、数量、描述。
硬件资源:这部分描述测试需要的硬件的配置和数量
测试范围:
测试对象:软件,文档
测试的特性:需要测试的内容,如积云商城的支付、登录功能
不测试的特性:不需要测试的内容,软件是增量开发,如注册功能不是本次测试内容
测试风险:
这部分描述测试任务可能遇到的风险,以及规避的方法
1.可能遇到的情况
2.该情况发生的可能性
人员不足、技术有限、软件依赖环境不完备、工具不足、需求变更
3.该情况发生后对测试造成的影响如何
4.我们该如何应对突发情况
可能存在的风险以及规避方法
人员分工:
姓名:张三,职务:经理,工作内容:具体负责哪些模块或者类型的测试。
测试策略:
都需要进行哪些测试
第一种方式:
微信支付功能
采用接口测试和功能测试
测试工程师B对新增的接口进行功能及性能的测试
测试工程师A根据需求对微信支付功能业务逻辑、UI、兼容性等进行测试
登陆页面
测试工程师B对登陆页面进行布局、文字,交互及兼容性等进行测试
其它功能
运行回归测试用例,覆盖积云商城的主业务流程
注册页面运行稳定并且未作修改,本版本不测试
第二种方式:
测试策略.jpg
第三种方式:
界面测试:对界面进行测试,是否符合公司需求
接口测试:对于各个模块间数据进行接口测试
稳定性测试:
兼容性测试:测试商城在IE浏览器以及各个主流浏览器间是否存在兼容问题
测试准则:
启动准则:满足什么情况可以进行测试
暂停准则:遇到什么情况测试要暂停
再启动准则:在什么情况下可以重新启动测试
结束准则:什么情况可以停止测试
缺陷分类:轻微 → 一般 → 次要 → 严重
测试进度:
测试任务,负责人,预期开始时间,预期结束时间,时间进度,备注
编写测试计划
设计测试用例
提交测试文档
这部分规划测试任务的所有文档输出,根据项目特点进行规划:
测试计划、测试设计说明书、测试案例说明书、测试规程、测试日志、测试问题报告、测试分析报告
如果需要某些文档合并为一篇文档,例如把测试设计说明书和测试案例说明书合在一篇文档中,需要进行说明