软件测试

1.1软件的定义:


是一系列按照特定顺序组织的计算机数据和指令的集合


1.2软件开发模式

1瀑布模型

2 快速原型模型

3 螺旋模型

4 迭代模型

5 增量模型

6敏捷开发模式

3影响软件质量的因素

1模糊需求

2软件开发缺乏规范性文件指导

3缺乏软件质量控制管理

4软件开发人员的问题

二.软件分类

2.1根据应用场景分类:

工具类软件、游戏型软件、媒体型软件、电商型软件等

2.2根据软件架构分类:

单机版软件、分布式软件

 2.2.1单机版软件:

Office、红警等

 2.2.2分布式软件:

C/S架构软件

客户端需安装专门软件,如QQ微信等

B/S架构软件

客户端为浏览器,如百度、hao123等

3.3 前端

前端,也称web前端。对于网站来说,通常是指网站的前台部分,包括网站的表现层和结构层(通 俗点就是用户可以看到的部分)。

3.4 后端

后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和 App 数据的服务 器、放置在后端服务器与浏览器及 App 之间的中间件,它们都属于后端。

一.公司组织架构



1.2项目成员组成


项目经理

产品经理

UI设计师

技术总监

开发工程师(web前端,Android,iOS,后端)

测试工程师


二.软件开发流程

开发流程分为六个阶段:项目启动阶段,需求阶段,设计阶段,开发阶段,测试阶段,项目上线


3.2 周期性报告

日报:每日晨会或者站立会需要

周报:本周工作内容总结和下周工作内容计划

月报:本月总结和下月计划

1.1 软件缺陷定义

软件缺陷就是通常说的Bug,它是指在软件中(包括文档和程序)存在的影响软件正常运行的问题。


1.2 软件缺陷产生的原因

1需求不明确和变更

2. 软件结构复杂

3. 编码问题

4. 项目期限短

5. 使用新技术


1.3 软件缺陷分类

测试的种类:界面类、功能类、性能类、安全类、兼容类。

缺陷的严重程度:严重、一般、次要、轻微

缺陷的优先级:立即解决、高优先级、正常排队、低优先级

缺陷发生阶段:需求阶段缺陷、架构阶段缺陷、设计阶段缺陷、编码阶段缺陷、测试阶段缺陷


1.4 常见软件缺陷管理工具

禅道、Jira

2.1 软件测试简介

通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程 


2.2 软件测试目的

1.就是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷保障软件质量,避免软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。

2.同时利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误。

3.采用更加高效的测试管理手段,提高软件测试的效率和软件产品的质量。


2.3 软件测试与开发的关系

软件开发与软件测试都是软件项目中非常重要的组成部分,软件开发是生产制造软件产品,软件测试是检验软件产品是否合格,两者密切合作才能保证软件产品的质量。

一个成功的项目离不开测试


3.1V模型

V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。 V 模型的优点在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。

用户需求                                                                                   验收测试

        需求分析                                                                   系统测试

                概要设计                                                集成测试

                            详细设计                            单元测试

                                                编码和实现

                            

3.2W模型

相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

需求分析                        需求测试                系统安全                 系统安装                        验收测试    

        概要设计                概要设计测试                系统构建                          系统测试

                   详细设计               详细设计测试       模块测试            集成测试

                                               编码实现                           单元测试

4.1优秀软件测试工程的基本素质

1. 参与需求讨论,制订测试计划,确保测试能顺利执行并完成;

2. 负责项目的功能性测试、用户体验测试、兼容性测试以及性能测试 ;

3. 负责测试用例的编写;编写测试报告和对测试结果分析;

4. 与开发人员、产品经理沟通和协作,推动整个项目的顺利进行;

5. 负责软件开发团队项目进度管理工作;

6. 熟悉Linux常用命令,熟悉常用数据库,熟练使用基本的SQL语句;

7. 熟练使用Loadrunner,Jmeter等至少一种性能测试工具。

4.2软件测试的内容

程序测试包括程序逻辑功能,界面,性能,易用性,兼容性,安装等测试,当然文档测试也算,排版,字体大小,也算程序测试的内容。

4.3软件测试的环境

测试环境=硬件+软件+网络硬件环境:pc机还是笔记本软件环境:不同的操作系统windows10 windows8 windows7 Linux Mac , 不同浏览器firefox chrom网络:局域网还是互联网

4.4软件测试流程

阶段名                                    工作内容                                                          产出物

测试准备阶段            项目立项、需求分析、需求评审                                需求文档、产品prd

测试计划阶段            编写测试计划、计划评审                                           测试计划

测试设计阶段            提取测试点、编写测试用例、用例评审                    测试用例

测试执行阶段            冒烟测试、执行测试用例、提取bug、回归测试        缺陷报告

测试完成阶段            验收测试、编写测试报告 、项目上线                       测试报告

4.5.1 软件测试基本原则

1.测试显示软件存在缺陷

2.穷尽测试是不可能的

3.测试要尽早介入

4.缺陷集群性

5.杀虫剂悖论

6.测试活动依赖于测试内容

7.没有错误是好是谬论

8.程序员应避免检测自己的程序

4.6软件测试分类

按阶段划分:单元测试、集成测试、系统测试、验收测试。

按是否运行程序划分 :静态测试、动态测试

按是否查看源代码划分:白盒测试、黑盒测试

黑盒测试有:功能测试和性能测试

功能测试有:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试

性能测试有:一般性能测试、确定性能测试、负载测试、压力测试

其他:回归测试、冒烟测试、随机测试


4.6.1按照测试原理分类

黑盒测试、白盒测试、灰盒测试

黑盒测试(Black Box -Test):把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什 么样子,只关心软件的输入数据和输出结果

白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法

灰盒测试:一种基于程序运行时的外部表现同时又结合程序内部结构来设计测试数据的测试方法


4.6.3按照内容分类

功能测试、性能测试、兼容性测试

4.6.3.1 功能测试:


界面测试、冒烟测试、回归测试、业务逻辑测试、易用性测试



4.6.4测试分类占比

接口测试占比9%

压力测试占比9%

性能测试占比19%

功能测试占比63%

你可能感兴趣的:(软件测试)