赞
踩
什么是软件:
软件的生命周期:
软件开发模型:
瀑布型生命周期模型:
①在1970年人类整理了第一个软件生命周期,即瀑布型生命周期模型也叫瀑布模型。规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,具有顺序性和依赖性。每个阶段规定文档并需进行评审。
<1>测试介入项目特别晚:回溯成本非常高--好
<2>项目周期很长
V模型:
①RAD (Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
<1>测试介入早,可以提前对需求进行评审和测试--回溯成本减少
<2>测试提前在测试文档(用例)----可以直接执行测试===节省准备文档时间--提高项目效率。周期拉短
敏捷开发模型:
以人为核心、快速迭代、循序渐进
的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。软件开发过程:
单元测试:
主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块具体到类,函数、方法的测试等。集成测试:
单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递。---接口测试
系统测试:
把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。----最重要,常见的(web,APP)
验收测试:
主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。---UAT(用户,产品(领导) )
α(阿尔法)(alpha)测试:
封闭式内测,由开发公司发放一定数量的激活码或账号给玩家。β(贝塔)(beta)测试:
开放式内测,不限数量,全民参与。持续时间最长
的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护主要包括纠错性维护
和改进性维护
两个方面。一个软件产品从开发到用户使用都涉及哪些环境?
dev
):test/System Integration Test (sit)
):stage
):produce
):另外,还有个灰度发布,发生在预发布环境之后,生产环境之前。
生产环境一般会部署在多台机器上,以防某台机器出现故障,这样其他机器可以继续运行,不影响用户使用。灰度发布会发布到其中的几台机器上,验证新功能是否正常。如果失败,只需回滚这几台机器即可。
灰度发布版本和灰度环境:
预发布环境过后,就是灰度发布了。由于一个项目,一般会部署到多台机器,所以灰度1台至3台,看看新功能是否ok,如果失败则只需要回滚几台,比较方便。注意,由于是灰度发布几种几台,所以一般会使用跳板机,然后进行域名绑定,这样才可以保证只访问有最新代码的服务器。
就是所谓的A/B测试。
灰度环境
:也可称为线上仿真环境或者预发布环境
,在上线之前发布到灰度环境,通过后再上线,其实灰度环境的好处挺多的,其中最明显的就是观察用户反馈,即时调整产品的方向,避免因为直接上线导致用户一时半会儿适应不了新系统,导致用户流失。此外还有助于降低上线的成本,如人力成本(一般大版本上线是深更半夜,开发比较疲惫)、降低bug数量等,如果发现灰度环境的问题,可以及时把用户剔除灰度名单,尽可能减少用户的损失预发布环境和灰度环境:
pre
):总结:
分支解释:
应用软件架构C/S与B/S架构:
软件测试是什么:
软件测试的分类:
点点点
单元测试
接口测试
功能测试:
测试业务逻辑(手工,自动化)—核心重要界面测试:
Ul (user interface)–外观美观,设计合理,友好—主观性强=需求文档安全测试:
高级类型—攻击(工具(扫描–appscan),代码(脚本–ql注入))—漏洞,薄弱=账号密码,http协议–https协议兼容性测试:
软件+硬件(windows, Linux ,MAcOS,Android,iOS);软件+软件(浏览器兼容)…调用;软件不同版本之间=APP升级(老功能,数据)易用性测试:
主观—人性化,舒适,用户使用习惯,用户体验—提bug=站在用户角度考虑,参考成熟产品性能测试:
高级类型—双十一(访问人数多)–并发(10000)—资源,CPU,内存–正常处理(压力测试,稳定性、负载测试)回归测试:
regression test :测试 — bug,开发修复bug(修改代码)=验证bug =其他没被修改的代码模块的测试,影响:上线之前-很多轮(2-4轮)的回归测试(重复)–策略=自动化测试实现冒烟测试:
来源—硬件测试:电路板–通电–冒烟–短路被烧了=打回开发重做…软件测试:软件提测–核心业务功能,主流/程-打回开发探索性测试/自由测试(测试思维):
发散测试–能力要求非常高:依据,方法=靠经验,积累,直觉----软件测试工作流程图:
测试需求分析阶段:
阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议。测试计划阶段:
编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。测试设计阶段:
主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审。测试执行阶段:
首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试(2-4轮),遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。------(完善测试用例)测试评估阶段:
出测试报告,对整个测试的过程和版本质量做一个详细的评估(剩余bug数量/严重程度,测试用例的覆盖率
)。确认是否可以上线。UAT测试阶段:
部署到UAT测试环境,由产品或者领导来验证功能。测试需求:
提炼测试点
,时间规划,人力规划,测试环境案例分享:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。