7.24...

软件测试流程
    软件生命周期及研发模型
        软件生命周期
            软件生命周期的定义
                软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件 设计、编码、测试、软件发布维护的过程
            软件生命周期的三个时期
                软件定义
                    问题定义——要解决的问题是什么
                    可行性研究——上一阶段所确定的问题是否有行得通的解决办法
                    需求分析——目标系统必须做什么
                软件开发
                    概要设计——怎样实现目标系统
                    详细设计——应该怎样具体地实现这个系统
                    编码和单元测试——写出正确的容易理解、容易维护的程序模块
                    • 综合测试——通过各种类型的测试使软件达到预定的要求
                运行维护
                    使软件持久地满足用户的需要
        软件研发模型
            软件研发模式
                大爆炸模式
                    特点:简单,计划、进度安排和正规开发过程几乎没有, 所有精力都花在开发软件和编写代码上,没有测试活动
                边写边改模式
                    特点:开发组最初有粗略的想法,进行简单的设计,然后 开始漫长的来回编写、测试和修改缺陷的过程。适合快速 制作而且用完就扔的小项目,例如,原型范例和演示程序
            软件研发模型
                瀑布模型
                    瀑布模型的特点
                        瀑布模型非常强调产品的定义
                            开发或者代码编制阶段只是其中单独的一块
                        瀑布模型各步骤是分立的\没有交叉
                        瀑布模型无法回溯
                            一旦进入某个步骤,就要完成该步骤的任务,然后才能向下继续——无法 回溯
                        每个阶段都要仔细验证,线性过程太理想化,越来越不适合现代软件的开发 模式
                快速原型模型
                    快速原型模型的特点
                        克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带 来的项目开发风险
                        适合预先不能确切定义需求的软件系统的开发
                        不适合大型系统的开发(适合开发小型的、灵活性高的系统)
                        前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的 创新
                螺旋模型
                    螺旋模型的特点
                        开始不必详细定义所有细节
                        从小开始,定义重要功能,努力实现
                        接受反馈,进入下一次循环
                        测试活动贯穿于每个循环
                        螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及 经常发生的循环之前,都必须首先进行风险评估
                        在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。 过多的迭代次数会增加开发成本,延迟提交时间
                敏捷开发
                    敏捷开发流程
                        产品经理调研客户需求,协商需求的优先级,进行排序
                        项目经理接收到需求,分配任务,计划研发:迭代任务2-6周一个周期
                        迭代周期,每日站会(立会),讲述昨天任务完成情况,今日计划安排,遇到什 么问题等。参会人员有开发、测试、QA、设计人员等
                        交付客户进行确认,一个迭代周期结束需要开反思会,避免下个周期出现同样的 错误
                        进入下一个迭代周期…直到交付客户的所有需求,避免了后期出现大量不符合客 户需求的功能
    软件测试生命周期及模型
        软件测试流程概述
            软件测试的生命周期
                子主题 1
        软件测试 - X模型
            左边描述的是针对单独的程序片段相互分离的编码和测试,此后进行频繁的 交接,再通过集成,最终合成可执行的程序,然后再对这些程序进行测试,已 经通过的程序可以进行封板提交给用户,也可以作为更大集成的一部分,X模 型还定位了探索式测试,探索式测试是不进行事先计划的特殊类型的测试,能 够帮助测试人员在测试计划之外发现更多的错误
                子主题 1
        软件测试 - V模型
            模型图
                子主题 1
            优缺点
                优点
                    在V模型里,强调软件开发的协作和速度,反应测试活动和分析测试 的关系,并且将软件的实现和验证有机的结合了起来,V模型,明确的界 定测试过程是存在不同阶段的
                缺点
                    但是V模型也有一定的局限性,它仅仅把测试过程放在需求分析、系统 设计、编码之后的一个阶段,忽视了测试对于需求的分析和验证。我们对 需求的验证,对系统设计的验证,到后期的验收测试才有可能被发现,对 于我们测试当中的测试需要尽早进行的原则在V模型中没有体现,这是V模 型的局限
        软件测试 - W(双V)模型
            模型图
                子主题 1
            优缺点
                优点
                    开发与测试并行,有利于尽早发现问题,有利于及时的了解项 目的测试风险,来及早的执行相应的应对方案,加快项目的进度
                局限性
                    需求、设计、编码仍然是串行进行的,测试和开发保持线性 的关系,上一个阶段完成之后才能进行下一个阶段,不能够很好的支持 迭代的开发模型
        软件测试 - H模型
            模型图
                子主题 1
                    H模型强调把测试分为测试准备和测试执行两个不同的阶段,只要由于其 他流程的进展引发了测试就绪点的到位,这时候,只要测试准备完成,测试 执行活动就可以或者需要开展,,具有很强的灵活性。在H模型当中,测试 是一个完全独立的模型,所以可以和其他的流程交叉地进行,也便于我们尽 早的执行测试
        软件测试 - X模型
            模型图
                子主题 1
                    左边描述的是针对单独的程序片段相互分离的编码和测试,此后进行频繁的 交接,再通过集成,最终合成可执行的程序,然后再对这些程序进行测试,已 经通过的程序可以进行封板提交给用户,也可以作为更大集成的一部分,X模 型还定位了探索式测试,探索式测试是不进行事先计划的特殊类型的测试,能 够帮助测试人员在测试计划之外发现更多的错误
    软件测试流程
        软件测试流程概述
            测试计划阶段
            测试设计和开发阶段
            测试实施阶段
            测试评估阶段
        软件测试流程图(需求阶段)
            流程图
                子主题 1
            需求阶段——产品基本情况调研
                需求阶段测试相关的主要工作
                    产品基本情况调研
                    测试需求说明
                    测试的策略和记录
                    测试资源的配置
                    计划表
                    配置测试环境
        软件测试流程图(设计编码阶段)
            流程图
            设计编码阶段测试人员工作
                参与评审
                设计测试方案(集成测试和单元测试)
                执行单元测试
        软件测试流程图(集成、系统、验收)
            流程
        项目组成员及相关工作
            项目经理:立项、计划、关联产品、关联需求等
            产品经理:收集需求反馈,建立产品,整理需求等
            设计人员:设计系统架构,概要设计和详细设计,UI设计等
            开发:编码
            测试人员:设计测试用例,执行测试,提交bug(缺陷)
            运维:部署系统,搭建环境
            QA:贯穿全过程,制定规范、辅助、审计
        测试人员的服务对象
            项目经理(开发经理、测试经理)
                工作职责
                    制定项目计划,并根据各种变化修改项目计划
                    实施项目的管理、开发、质量保证过程,确保客户的成本、进度、绩效和质 量目标
                    制定有效的项目决策过程
                    确保在项目生命周期中遵循是实施公司的管理和质量政策
                    选择一个能够精确衡量项目成本、进度、质量、绩效的项目距阵
                    风险管理
                    招聘和培训必须的项目成员
                    确定项目的人员组织结构
                    定期举行项目评估(review)会议
                    为项目所有成员提供足够的设备、有效的工具和项目开发过程
                    有效管理项目资源
                测试人员与项目经理沟通
                    及时向项目经理报告工作状态和问题
                    明确自身的工作范围
                    项目变更对项目的影响
            产品经理
                工作职责
                    熟悉产品从业务调研、需求分析到实现过程、产品发布的整个流程
                    根据公司和产品发展策略,负责公司产品策划工作
                    收集市场反馈与用户行为及需求,提升用户体验
                    撰写详细的产品需求文档及原型设计文档,跟踪产品研发进度
                    负责把控产品推进进度、协调突发问题与质量管理工作
                测试人员与产品经理沟通
                    及时反馈需求问题
                    明确业务需求
                    需求变更对项目的影响
            程序员
                工作职责
                    对公司产品进行开发和改进
                    对生产部门提供技术支撑
                    执行项目经理指定的研发计划,并及时向项目经理汇报工作状况
                测试人员与研发人员沟通
                    要求提供好的缺陷报告,提高工作效率
            文档编写人员
                工作职责
                    编写产品说明书
                    编写用户指南
                    其他相关帮助文档
                测试人员与文档编写人员沟通
                    相互沟通,互相补充
                    对文档测试需要得到文档编写人员的支持
            技术支持
                销售工作中技术方案的制定
                设备、软件配置清单的制作
                销售工作中技术简报的制作与演讲
                协助市场部实施所负责销售范围内的广告宣传及其它市场活动
                为营销活动提供最大支持
                为销售管理部门提供市场竞争的信息材料
                快捷准确并按技术支持经理需求提供所有报告、数据,如周工作计划/报告等
                参加公司内部、原厂商的各种技术培训
                参加公司内部、原厂商的各种认证考试
                与销售代表沟通,共同完成方案建议书及报价
            测试与技术支持沟通
                测试人员告诉技术支持可能给用户带来的麻烦的产品问题
                技术支持帮助测试人员找出应该更正的产品问题
            市场人员
                工作职责
                    业务销售,市场开拓等
                测试人员与市场人员沟通
                    市场中可能有程序开发人员没有引起足够重视的问题
            管理层和项目相关人员
                技术总监、总经理和董事长
                测试人员与管理层沟通
                    为管理层决策提供支持
            用户
                满足用户的要求才能获得项目的最高利益
    软件测试阶段
        软件测试过程
            单元测试
            集成测试
            系统测试
            验收测试
        软件测试阶段 - 单元测试
            单元测试又称为模块测试,是最小单位测试
                单元测试具有独立性,可以与系统其他部分分隔离出来,从而完成测试,其依据是详 细设计
                其测试对象是软件设计的最小单位模块与组件,类、文件、窗口、函数、菜单、报表 或一个存储过程都可以作为一个单元进行测试
                单元测试可以发现的缺陷类型
                    计算错误
                    需求或功能遗漏
                    程序路径选择错误
                    执行方法
                        代码扫描工具:SonarQube + PMD
            测试原则
                尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例 中重写模拟方法)
                此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
            单元测试的好处
                尽早的发现缺陷
                利于重构
                简化集成
            单元测试的不足
                不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
                每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡
    软件测试阶段 - 集成测试
        集成测试概念
            是将已分别通过测试的单元按设计要求组合成系统或子系统,再 进行的测试。目的在于检查这些单元之间的接口是否存在问题
        测试目标:API
            对集成的组件之间的接口和组件与组件的协同工作进行测试
        测试依据
            软件和系统设计文档
            系统架构
            定义和描述接口的文档、工作流和用例等
        执行方法
            工具:Postman
            自动化测试框架:python + requests + ddt + nose2
        测试原则
            尽早集成测试关键模块
            尽早测试包含I/O的模块
        集成测试的好处
            可以检查一系列的环境配置正确与否
            可以迅速定位BUG
            可以为功能测试和性能测试提供支持
        集成测试的不足
            难以完成业务场景测试
            无法测试前端页面
    软件测试阶段 - 系统测试
        系统测试概念
            是充分运行软件系统,以验证系统是否满足产品的质量需求
            系统测试分为
                功能测试
                非功能测试
                    性能测试、容量测试
                    安全性测试
                    兼容性测试
                    可靠性测试
        集成测试和系统测试之间的比较
            测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个 系统的功能和性能
            测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的 角度进行测试
    软件测试阶段 - 验收测试
        验收测试概念
            验收测试:也称交付测试,是针对用户需求、业务流程进行的正式 的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机 构决定是否接受系统
                在软件产品完成了系统测试之后、产品发布之前所进行的测试
                验收测试一般会根据产品产品需求(用户故事),严格的逐项的检查产 品,确保所开发的软件产品符合用户预期的各项要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值