找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 武汉23期-吴英俊 于 2023-2-11 15:15 编辑

为什么要测试?
1,找出软件的缺陷,2验证软件的正确性。
观点:测试时候为了证明程序有错。

开发阶段:*软件的生命周期阶段:
1、需求的引入定义:有客户提出要求,产品经理进行收集用户的需求,看是否可以制造产品解决客户问题。
2、可行性分析:经济:当前项目的资金是否可以支持项目的运作,当前的项目是否可以产生一定的经济价值。               
      政治:符合当前国家政策                        法律:不违反国家网络安全法规
      技术:当前项目组技术,是否可以实现产品的功能。
3、项目招投标:建设单位拟建工程发布公告,吸引承包公司承接我公司当中的一部分开放工作。
4、项目立项:成立项目,规定项目周期,制定项目计划,招人,分配项目工作。
5、需求分析:项目立项之后,产品经理将需求转换成需求文档,组织评审,进行需求分析。
     设计:开发人员设计,开发主要框架,确定开发产品的语言。
     编码:开发人员进行编码
     测试:开发完成之后,测试人员执行测试工作。
7、维护:维护现有的产品,做产品的迭代开发工作。

**软件生命的周期的模型:
       项目组开发流程模型,开发的流程都是围绕软件生命周期模型展开的。(包含需求-开发-测试-维护)
软件的开发模型:1瀑布模型,2v模型,3w模型,4h模型,5迭代开发模型.,6增量开发模型,7敏捷开发模型。

u瀑布模型:
    1970年提出的软件开发模型,瀑布模型是按层级展开,一个阶段的结束,代表下一个阶段的开始。
缺点:
1,因为测试的阶段在开发编码完成之后,对接开发之前的一些活动包括项目的需求,我们不得而知,就会导致测试的覆盖面不足,产生线上的问题(bug)
2,如果在测试执行阶段发现,在上面层级的错误,就会导致返工的工作量增加。
优点:
1,按阶段层级展开,方便做大型项目的开发管理工作。
2,瀑布模型是第一个清晰表达了开发测试全部过程的模型。
瀑布模型的适用范围:适合需求稳定的项目。
v模型:
1,用户需求:用户提出需求,产品经理对接客户收集需求,整理输出需求文档/原型图。

2,需求分析:产品经理召开需求评审会议,会议当中进行评审需求,看需求有没有不合理的地方,针对不理解的需求,进行指出解决。

3,概要设计(HLD):需求分析结束之后,开发人员针对开发的项目进行概要设计,测试人员继续了解需求。
概要设计的内容:编写开发的目的,开发背景,设计开发的主要框架,结构,设计项目的主要功能。

4,详细设计(LLD:针对产出的概要设计,进行详细设计,包括接口设计,前端页面显示的样式设计,子功能完善的设计工作,数据存储的设计工作。  

5,编码:开发人员针对自己负责的功能模块进行开发编码工作。

6,单元测试(UT):白盒测试,透明盒子测试,开发针对自己所开发的代码,进行走查,运行代码,排查代码的问题。                                

7,集成测试(IT):集成测试也叫做组装测试,项目开发工作当中,是由多个开发共同协作完成的,所有开发,开发完成之后,会将代码部署到测试环境,给测试人员提供测试。
集成测试的主要工作:
                   主要测试功能模块与功能模块之间是否产生问题,模块与模块之间的关联点是否可以链接在一起。
                             例:微信-聊天-支付,聊天功能调用支付功能转账发红包。
8,系统测试(ST):系统测试的范围:是整个项目,包含所有功能点的测试(界面测试,功能测试,兼容性,可               
                        靠性,可用性,性能安全测试等等,都是在系统测试阶段执行的)
      验收测试(UAT):验收测试一般在预发布环境进行执行,对于测试环境被测的对象,再进行一次测试。
9,验收测试:有两种方法,一般是阿尔法用得比较多。
      α阿尔法验收测试:一般由公司内部员工在预发布环境进行验收测试,验收通过之后,发布线上给用户使用,
                                       验收失败,针对产出的BUG进行修复再次验收。
      β贝塔验收测试:一般是由用户进行验收,测试通过之后发布上线,用户一边使用,一边对接用户的反馈,进
                                         行修复。
v模型输入与输出的关系:
输入:用户需求         输出:需求分析
输入:需求分析        输出:概要设计
输入:概要设计        输出:详细设计
输入:详细设计       输出:编码阶段
输入:编码                输出:单元测试               
输入:单元测试          输出:集成测试
输入:集成测试           输出:系统测试
输入:系统测试             输出:验收测试

v模型的特点:
它是第一个,详细概括了测试的全部流程的模型,从左到右它又是一个串型结构的模型,每一个测试阶段都有了参考的依据,覆盖性比较广。
缺点:测试的行为还是在开发编码行为结束之后,对于后期做测试的时间比较仓促,在单元测试之后才开始介入测试工作,如果出现问题,也会存在返工的场景,增加项目成本。

w模型:市面上用得较少。
H模型:
项目和版本的区别:
一个项目他包含多个版本,Android1----Andorid10版本
version:v1.0   这个代表版本号。一般都是从v1.0的版本作为一个项目的第一个版本。

项目和产品的区别:先有项目才有产品,通过项目立项之后,开发产品-->产品是项目的成果。
微信项目组:--->微信这个产品是微信项目组的成果。
面试问题:
你们之前的项目组多久一个版本?
      大致两周左右的时间一个版本。
**敏捷开发模型:
敏捷开发模型--->现在市面上用得比较多的,1990提出的开发模式。
它能够快速的适应市场,开发周期短,(1-2周一个版本),如果市场上出现一些新的内容,可以进行快速的变化。
优点:能够快速的适应需求变换,开发周期比较短。
缺点:导致开发出来的产品质量不高,测试时间也不充裕,测试度不全面。
注重一些理念:
强调的是项目组人员之间的沟通协作,项目当中缺少一些实际文档。
增量开发模型:
增量开发模型是将待开发的软件划分成模块化,将每一个模块分批次的分析,设计,编码,测试,提交给用户使用,也可以根据用户的反馈将模块排序划分。
每一个模块的发布都是一个完整的测试流程(H模型)
我所有待开发的模块都是已知的,事先划分好的。
   优点:
1,将软件模块化,可以发布一个版本留住用户,再进行分批次的开发
2,以模块单位进行开发,如果某一个模块出现问题,也不会影响整体的开发进度。
3,开发顺序灵活,可以根据市场,根据用户来做出决策。

迭代开发模型:
迭代开发模型是为了快速实现将产品交付给用户,来占领市场,设计时不会像瀑布模型一样将所有的设计,设计得很完美,而是根据市场做后续的迭代开发,分批次交付。
增量开发模型:我所有的开发功能都是已知的,实现划分好的任务。
迭代开发模型:我所有的开发功能都是未知的,后续的开发内容都是根据市场的变化来的。
测试生命周期活动阶段:
测试计划(测试准入)与控制:
测试人员介入测试便准:
1,开发人员编码结束,并完成单元测试
2,需求规格说明书中的功能,开发提交说明书均已实现。
3,开发人员提交被测系统的代码包是最新版本,安装部署测试环境成功。
4,开发人员向测试部提交测试申请书。

测试分析与设计:
           测试人员加入测试,分析设计测试思路--->
              分析需求--设计用例

测试实现与执行:
          测试人员执行测试用例

测试报告(测试准出):详见H模型中的测试报告准出标准。
所有bug修复完成之后,测试人员输出测试报告,看软件是否达到了测试准出的标准。
测试过程资产归档(测试总结):
1,测试用例
2,测试产出bug
3,测试工具(手机等等)



第二天结束。。











分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册