什么是软件:
软件是计算机程序及其他相关文档,是交付给客户的一整套解决方案。
软件=程序+文档
文档的意义:
通过相关文档,可以使人们更加清晰了解程序的结构和架构,方便软件后期维护和使用。
文档包含哪些?
需求文档、计划文档、设计文档、用户手册、测试报告等。
编码:
编码是将人脑的思路、方法用程序设计语言编写为代码的过程。
软件开发:
软件开发不止是编码;软件开发是包含从需求分析、开发计划、设计、编码、调式等一系列过程。
软件研发:
软件研发=开发+测试;
软件研发至少包括需求、设计、编码、调式。
软件设计:
概要设计:概要设计就是确定程序的结构、框架;确定程序有哪些接口,有哪些类等;
详细设计:确定接口的具体实现、确定类的具体方法、函数等
调试:
调试是指程序员编写完成业务代码后,使用专业的调试工具对其代码进行调式并进行改正的过程。
需求:
需求是由产品经理和用户(原始需求)进行对接。由产品经理进行整理、归纳的一份描述系统应该做什么的文档;也称为需求文档、SRS、软件需求规格说明书
需求分析:
需求分析其实就是学习需求的过程,一般由产品经理组织,以会议方式进行,通过需求的串讲和反串讲,做到需求对其(需求理解一致)的工作。
需求串讲:
由产品经理向开发/测试人员讲解需求的过程
需求反串讲:
由开发/测试人员向产品经理讲解需求的过程
需求澄清:
从广义上讲,将需求分析会议上开发/测试向产品经理提出问题的过程称为需求澄清
需求变更:
指对需求的更变;需求变更可以由PM、用户、开发人员、产品经理等进行变更;需求变更一般需要进行需求变更仲裁会议(CCB);参与人员:PM、用户、开发人员、产品经理;
需求评审:review
由产品经理进行组织,在每一个迭代(sprint)开始之前对需求进行确定和优先级的确定;
软件中的版本:
version:是指正式对外发布的版本;
build:是指内部研发过程中产生的小版本,一般不对外发布;
环境:
开发环境: 开发人员日常开发时所使用的环境。
测试环境: 测试环境是测试人员为了对程序进行测试而部署的环境。
生产环境:也被称为真实环境或线上环境,也就是客户使用程序上线后使用的环境。
项目中的评审活动:
需求评审:
代码评审:
当开发人员编写代码后,需要自发组织同组开发人员对其代码进行review活动;评审时首先由开发人员讲解业务以及业务实现逻辑,然后可以对其编写的详细函数进行讲解;然后由同组开发人员一个接一个对开发人员代码从功能、性能、规范、安全性、易用性等等方面进行评审。
测试用例评审:
当测试人员编写完成测试用例后,需要与[产品经理]、负责模块的开发人员、测试组长等一起对其测试用例进行评审;评审时首先由测试人员讲解业务,然后讲解其测试用例的设计;再由开发、测试组长进行测试用例的补充和冗余测试用例的去除。
软件开发流程:
需求分析--->开发计划--->思维导图---->设计--->编码--->自测--->修复缺陷。
开发计划:
开发计划就是对开发活动所做的计划;开发计划一般包括项目背景、时间节点、人员分工、项目环境、项目技术、项目风险等。
思维导图:
思维导图是一种将业务使用类xmind工具很有逻辑的表现出来的一种形式。
自测:
开发人员编写完代码后,需要对自己的代码进行自测(单元测试)。
修复缺陷:
测试人员提交缺陷后,需要开发人员对缺陷进行修复。
缺陷:1.不符合用户需求 2.超越用户需求 3.不符合用户操作习惯 4.缺失异常处理。
缺陷包含的元素:1.缺陷编号、{模块、子模块}、缺陷名称、缺陷优先级、缺陷等级、重现步骤、期望结果、实际结果、附件。
缺陷名称:缺陷名称是唯一的。
缺陷优先级:缺陷优先被处理的程度;优先级按照降序是从P1~P4。
缺陷等级:1.致命;导致系统崩溃或者重要模块整个模块业务异常 2.严重:重要模块一个功能异常或者一般模块整个模块业务异常 3.一般:一般模块单个功能点异常 4.轻微:一般是界面显示方面的问题。
重现步骤:使缺陷再一次显示出来的步骤。
附件:一般包括日志,出错截图,使用环境等。
软件测试流程:
需求分析--->测试计划--->思维导图--->测试用例--->部署环境--->执行测试--->提交缺陷--->缺陷回归--->测试报告