找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 唐志良 于 2017-9-6 22:20 编辑

      今天首次参加多测师培训课程,虽然有一些软件硬件方面经验,但是软件测试这一行业还是第一次了解,看似短短两个半月的课程,其实强度很大,学好这门技术前景也不会差。
      今天主讲软件测试概况与软件生命周期。软件测试是近年国内逐渐兴起的一个行业,软件测试工程师需求的增加也表明了国内软件行业已经有追逐数量和发行速度逐渐转变为追求质量和用户体验。软件测试是针对软件本身进行的“体检”,从运行性能、程序完备性、用户体验等多方面对程序进行检查。这个测试可以是从软件项目开启之时就一同开启、伴随软件的整个生命周期。通过软件测试,在软件上线前尽可能的降低软件本身的缺陷与漏洞,即使在软件上线后,软件测试依然伴随软件使用继续进行,不断将软件完善、提高软件完美度。
       软件测试的必要性有以下几点原因:1、软件非正常运行与自身缺陷会导致很多问题。2、软件包含代码和文档,这些都是人完成的,而人则或多或少会犯错误。3、软件的使用环境也会导致软件出现“失效”的状况。4、软件的质量由很多因素决定,而软件测试只是其中重要因素之一。软件测试就是验证软件的正确性,当然软件测试也有多种说法,也可以称为“发现软件缺陷的过程”。
       软件的生命周期就是软件从开发到报废的过程,是一种时间的概念。软件的生命周期始于客户需求引入;然后进行可行性分析,包含从经济、政治、法律、技术等层面的因素;紧接着是项目招标与项目立项;软件测试的工作正是由后面的需求分析开始;并在开发阶段担任设计、编码、测试三大环节中的重要一环;软件测试也包含软件后期维护工作,比如软件后期更新,添加新功能、改变界面等都不能缺少软件测试的参与。
       软件生命周期有多重模式:瀑布模型、V模型、W模型、H模型、X模型、敏捷开发模型、迭代开发模型、增量开发模型。
       瀑布模型从软件需求(system requirements)开始,由上至下通过软件需求(software requirements)、分析(analysis)、程序设计(program design)、编码(coding)、测试(testing)、运行(run)最终达到软件上线的目的。瀑布模型最大缺陷是整个流程从上至下,中间任何一个环节出问题将会导致后续步骤无法进行。如果发现问题是比较靠后的步骤甚至连产生问题的步骤都很难找到,极大的影响的项目进度因此基本处于淘汰状态。
       V形模型是瀑布模型的变种,认为测试是开发之后进行的串行活动。V形模型主要构造如下图:
]LAOHK$@JO7OUWWXSGG7%UB.png


       相对于瀑布模型,V形模型稍微改变了它由上至下的生产策略,但是也没有摆脱瀑布模型一环错,环环受阻的劣势。
       H模型是时下非常科学高效的软件生命周期模式。在H模型中,软件开发与软件测试是完全独立的两个活动,贯穿于整个产品生产周期,与其它流程并发进行。当某个测试点准备就绪时,就可以从软件测试准备阶段进行到软件测试执行阶段。因此软件测试可以更早的进行而且将根据被测物的不同而分层次进行。H模型具体结构如下:
1688JS0DJFRO(B`W(]WG9BI.png

图中,A代表了解HLD;B代表继续了解SRS;C代表了解LLD;D代表深入了解SRS;E代表TPM制定测试计划;F代表TE输出TC初稿,并进行多次用例评审,最终生成测试基线文档;G代表TPM将基线文档用例导入TestLink;H代表TPM、测试骨干或测试环境运维人员搭建测试环境;1代表修复SIT1的BUG;2带表修复SIT2等;4代表TPM分发项目包(给于Linux系统);5代表TE进行冒烟测试,冒烟测试通过后正式执行SIT1的测试。
     软件生命周期的H模型将软件开发与软件测试并行同进,能加快项目进度,是当前使用最广的模型。
     敏捷开发模型是一种新的软件生命周期模型,能快速适应需求变化,缩短交付周期,整体行进模式与H模型差异不大,但是敏捷开发模型现将软件主体功能实现,确保软件快速上线,上线后再逐步完善软件其他功能。
    增量开发模型是将一个软件分为多个部分,使用H模型完成各个部分后集合于一处形成完整软件。
    迭代开发模型是将项目分成大量迭代过程,一次迭代就是一次完整的开发循环,是一个可发布可执行的产品,属于软件开发周期最终产品的子集。
    以上模型中增量开发模型、迭代开发模型、敏捷开发模型都是在H模型上进行改进形成的,所有细分过程的进行都是以H模型为准。
   软件测试的标准是用户需求,因为顾客是上帝 - -!。用户需求不仅仅是项目发起人或者团体的要求,也包括软件使用群体的需求。因此测试不仅仅是对软件可用性稳定性等方面的测试,也包括用户使用舒适度,习惯等。一款软件外在没有失效并不代表软件可用,软件的测试需要放到“环境”中去,这种“环境”包括大数据流量等突发情况。软件测试只能尽可能的完善软件,并不能让软件尽善尽美。因为测试条件多样性及不同条件组合多样性,穷举法测试无法实现。软件项目开启后,软件测试应当尽早介入,能避免诸多开发及测试问题。
   软件测试要遵循以下原则.二八原则:百分之八十的错误集中出现在百分之二十的区域;杀虫剂效应:用例需要不断更新,总是使用同一用例进行测试无法发现新的BUG。测试活动依赖测试对象:一切测试要根据测试对象进行,不同测试对象测试的侧重点不一样。测试尽量由第三方执行,自我测试往往达不到效果。
   以上就是我对今天课程的总结,学到很多,也很坚定学好能找到心仪工作,共勉!!
     






%OK[(S}~HGAO%WTUKZ5Q$B5.png
分享至 : QQ空间
收藏

5 个回复

倒序浏览
暖贴挽尊,沙发一起了
回复 使用道具 举报
顶一发!!
回复 使用道具 举报
顶顶
回复 使用道具 举报
就服你
回复 使用道具 举报
6
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册