发表于: 2019-12-16 22:32:20

1 602


一、今天完成的事情:

1.写复盘申请PPT大纲,并制作PPT,包括:

1)总结学习期间的关键任务。

任务1:学会了编写测试用例。

任务2:学会了用流程图分析流程和用禅道提交bug。

任务3-6:了解了支付业务流程和前后台联动和视频业务流程和即时通讯业务流程,以及编写它们的测试用例。

任务7-8:学会了如何使用JMeter进行web和app的简单录制回放以及性能测试。

任务9:学会了用python+selenium webdriver编写网页自动化测试用例,生成HTML测试报告。

任务10:学会了用appium desktop+python编写app自动化测试用例,生成HTML测试报告。

任务11:学会了如何安装mysql数据库,并在Navicat数据库管理工具中操作Mysql,包括安装表、增删改查数据、删除表。


2)学到的技能。

a.编写测试用例

b.了解bug级别,用禅道提交bug。

c.熟悉常见的业务流程,如支付、视频、即时通讯等。

d.使用JMeter进行录制、性能测试。

e.使用selenium进行网页自动化测试。

f.使用appium进行app自动化测试。

g.使用Navicat操作mysql数据库。


3)对项目开发流程的理解。

首先,思考软件开发模型有哪些?(下面问题1)

其次,软件的生命周期是什么?(下面问题2)

最后,软件的开发流程是什么?--https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B/3430246?fr=aladdin

第一步:需求分析

a.相关分析员向用户初步了解需求,然后用相关工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里可以初步定义好少量的界面。

b.系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的功能模块,大功能有哪些小功能模块,并且还列出相关的界面和界面功能。

c.系统分析员向客户再次确认需求。

第二步:概要设计

首先,开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。

第三步:详细设计

在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。

第四步:编码

在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3时间。设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响整体进度,让很多程序员被迫停下工作等待。

第五步:测试

测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。软件测试有很多种:按照测试执行方,可以分为内部测试和外部测试;按照测试范围,可以分为模块测试和整体联调;按照测试条件,可以分为正常操作情况测试和异常情况测试;按照测试的输入范围,可以分为全覆盖测试和抽样测试。总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都正常,因为永远有不可预料的问题存在。完成测试后,完成验收并完成最后的一些帮助文档。

第六步:软件交付

软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。

第七步:验收

用户验收

第八步:维护

根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。


4)对职业素养的理解--https://baijiahao.baidu.com/s?id=1630235428667082690&wfr=spider&for=pc

一名优秀的软件测试工程师的必备的专业素质

a.具备严谨、耐心、认真、负责的态度

b.涉猎广泛的专业技术

c.具备扎实的专业知识

d.具备良好的沟通能力

e.具备缜密的逻辑思维能力

f.最后就是善于学习的能力


5)复盘项目的期望

a.熟悉项目流程。

b.熟悉测试这个岗位的日常工作。(编写测试用例,提交bug,写测试报告)

c.熟练进行功能测试,性能测试。

d.熟练编写自动化测试用例。

e.熟练解决测试过程中遇到的简单问题。

f.了解并熟练使用Linux系统及其操作命令。

g.了解如何与其他岗位的同事沟通。

h.深入学习jenkins。

i.深入学习JMeter的脚本编写(尽量能自己写)。


二、明天计划的事情:

1.熟悉需要复盘的业务,进行需求分析


三、遇到的问题:

1.软件开发有几种模型--https://jingyan.baidu.com/article/f3e34a1214bf26f5eb65352f.html(下面一个问题的链接里也有)

       a.瀑布模型:

       瀑布模型的特点是:阶段间具有顺序性和依赖性,前一阶段结束后才能开始后一阶段工作,前一阶段的输出是后一阶段的输入;推迟实现观点,尽可能推迟程序的物理实现;强调质量保证观点,每个阶段必须完成规定的文档,每个阶段结束前完成完成文档以便及早改正错误。

       优点:

       1)原理简单,容易掌握

       2)各阶段间都有验证和确认环节,以便进行质量管理

       3)主要用于支持结构化方法

       缺点:

       1)缺乏灵活性,不能适应用户的需求变化。

       2)缺乏演化性,返回上一级的开发需求需要付出十分高昂的代价

       3)是线性的软件开发模型,回溯性差。

      适用场合:

      1)适合于软件需求比较明确或很少变化,且开发人员可以一次性获取到全部需求的场合

      2)适合开发技术比较成熟,工程管理比较严格的场合

      3)一般用于低风险的项目,适合开发人员具有丰富的经验。


      b.快速原型模型

      快速原型是快速建立起来的可以在计算机上运行的程序,是软件的一个早期可运行的版本,它的功能是最终产品的子集。用途主要是获取用户的真正需求。

      优点:

      1)增强了开发者与用户间的交流,有助于满足用户的真正的需求。

      2)用户可及早得到有用的产品,可及早发现问题,随时纠正错误。

      3)减少技术、应用的风险,可降低开发费用,缩短开发时间

      缺点:

      1)缺乏丰富而强有力的软件工具和开发环境

      2)对设计人员及开发环境要求较高

      3)难于做到彻底测试,更新文档较为困难

      适用场合:

      1)预先不能确切定义需求的软件系统,或需求多变的系统

      2)开发人员对设计方案没信心或将要采用的技术手段不太熟悉或把握性不大

      3)原型模型可作为单独的过程模型使用,也常被作为一种方法或实现技术应用于其他的过程模型中。


      c.渐增模型

      渐增模型也叫增量模型,其实质上是分段的线性模型,是一种非整体开发模型,渐增模型把软件产品作为一系列增量构件来设计、编码、集成和测试。在项目开发过程中以一系列的增量方式来逐步开发系统。


      d.喷泉模型

      喷泉一词体现了迭代和无间隙特性,迭代指开发软件系统时,某些部分经常要重复多次,相关功能在每次迭代中随之加入演进的系统。


      e.螺旋模型

      螺旋模型是在结合瀑布模型与快速原型模型基础上演变而成的,并且加入了风险分析。其基本思想是,使用原型及其他方法来尽量降低风险。在螺旋模型中,将软件过程表示为一个螺旋线,在螺旋线上的每一个循环表示过程的一个阶段,整个过程的实现按一下四个步骤完成:

      1)指定计划

      2)风险分析

      3)工程实施

      4)客户评估


2.软件开发的生命周期是什么?--https://blog.csdn.net/chktsang/article/details/87007831

软件构建的基本概念之一--软件开发生命周期模型。或者只是SDLC模型。SDLC是一个连续的过程,从决定启动项目的那一刻开始,并在它完全从开发中移除的那一刻结束。没有一个单一的SDLC模型。它们分为几组,每组都有其特点和弱点。

阶段1:计划和需求分析(Planning and Requirement Analysis)

每个软件开发生命周期模型都从分析开始,过程的相关利益者讨论对最终产品的要求。此阶段的目标是需求的详细定义。此外还需确保所有流程参与者都清楚地了解任务以及每个需求将如何实施。通常,讨论涉及质量保证专家,如果有必要,他们甚至可以在开发阶段干预过程中添加。

阶段2:设计项目架构(Project Architecture)

在软件开发生命周期的第二阶段,开发人员实际上正在设计架构。所有利益相关者(包括客户)都会讨论此阶段可能出现的所有不同技术问题。此外,还定义了项目中使用的技术、团队负载、限制、时间范围和预算。最适合的项目决策是根据定义的要求作出的。

阶段3:开发和编程(Development and Coding

在批准要求后,该过程进入下一阶段-实际开发。程序员从这里开始编写源代码,同时牢记先前定义的需求。系统管理员调整软件环境,前端程序员开发程序的用户界面以及与服务器交互的逻辑。

编程开发假设有四个阶段

1)算法开发

2)源代码开发

3)汇编

4)测试和调试

阶段4:测试(Testing)

测试阶段包括调试过程。开发过程中遗漏的所有代码缺陷都会在此处检测到,记录下来并传回给开发人员进行修复。重复测试过程,直到删除所有关键问题并且软件工作流程稳定。

阶段5:部署(Deployment)

当程序最终确定并且没有关键问题时-是时候为最终用户启动它了。新程序版本发布后,技术支持团队加入。该部门提供用户反馈;在利用期间咨询和支持用户。此外,此阶段还包括所选组件的更新,以确保软件是最新的,并且不会受到安全漏洞的影响。


四、收获:

1.对任务1-11做了简单的回顾,知道自己掌握了哪些内容,有哪些掌握不牢的。

2.了解开发生命周期和SDLC模型

3.了解软件开发流程

4.了解软件测试工程师的职业素养


返回列表 返回列表
评论

    分享到