2021-05-10

2021/5/10 10:29:13

本文主要是介绍2021-05-10,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.软件的定义
     软件测试 , 英文别称:Software Testing。

    描述一种用来促进鉴定软件的正确性,完整性,安全性和质量的过程,也就是是实际输出与预期输出之间的审核或比较过程。

2.应用场景
   游戏型测试    电商型测试·   金融型软件测试    嵌入式测试等

3.软件架构分类
  架构:就是用来指导我们软件开发的一种思维,其中B/S,C/S架构最为常见 (B:browser 浏览器        C:clent 客户端       S:server 服务端)

  B/S 架构:是Web兴起后的一种网络结构模式(Web是客户端最主要的应用软件)。

  C/S架构:一种较早的软件结构,主要应用于局域网内。

4.软件测试的定义与原则
a.无测试的失败案例

①1994年秋天,迪斯尼公司发布了首张面向儿童的多媒体光盘游戏“狮子王动画故事书”。这是迪斯尼首次进军游戏市场,他们进行了大力的宣传促销。结果,销售额非常可观。该游戏成为全美儿童当年夏季的必买游戏。但是,后来却产生了迪斯尼公司意想不到的后果。刚刚过完圣诞节,迪斯尼公司客户支持部的电话开始响个不停。很快,售后服务部门就被淹没在愤怒的家长和哭诉玩不成游戏的孩子们的电话狂潮中。

后来得到的证实表明,迪斯尼公司没有对投入市场上的各种PC机型进行正确的测试。软件在少数系统中工作正常——例如迪斯尼的程序员用于开发游戏的系统,但在大众使用的常见系统中却存在问题。

②大概从九月初以来,当在易趣拍得某一卖家的物品后,客户在易趣注册使用的电子信箱中就会立即收到一封由易趣系统自动发来的告知买家成功购得该物品的通知信件(此时买家还未付款)。该通知信件中”卖家信息 联系电话”一项所显示的是买家的联系电话,卖家的联系电话在该通知信件中根本就没有出现。

b.软件测试的定义:通过人工或自动化的方式来验证软件的实际结果与用户需求是否保持一致的过程

c.原则

早期进入测试
没有穷尽测试
程序员避免检查自己的代码
充分注意测试中的缺陷的群集现象
严格执行测试计划,排除测试的随意性
对每一个测试结果做全面检查
妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便
设计测试用例时,应当包括合理的输入数据和不合理的输入数据
测试用例应由测试数据和与之对应的预期输出结果这两部分组成
5.测试模型介绍


主要使用V模型和W模型

a.V模型:左下降为开发各个阶段,右上升为测试各个阶段

 

V模型的优点在于它非常明确的标明了在测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发阶段的对应关系

V模型的缺陷是仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证。

解决思路:当一个软件开发的时候,研发人员和测试人员需要同时工作,测试在软件做需求分析的同时就会有测试用例的跟踪,这样,可以尽快找出程序错误和需求偏离,从而更高效的提高程序质量,最大可能的减少成本,同时满足用户的实际软件需求。

整理:

   优点:
    1 每一个阶段都清晰明了,便于控制开发的每一个过程。
    2 既包含单元测试又包含系统测试。
   缺点:
    1 测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
    2 测试和开发串行。

b.M模型:更科学,是V模型的发展,强调的是测试伴随着整个软件开发周期,测试的对象程序,需求、功能和设计,测试与开发是同步进行的,从而有利于尽早地发现问题,也是优点所在

缺点:M模型对于一些项目,若开发过程中没有文档产生,就不能使用;对于需求和设计的测试技术要求很高,实践起来很困难

6.软件测试流程
问:你们的公司测试流程是什么样的?

答:我们公司的测试流程是拿到项目进行确定(项目立项),此产品会给出一个产品说明,需求人员编写一个需求文档,进行需求评审,确定之后交给开发人员进行详细的编码设计,测试这边编写测试用例,进行测试用例评审,交给开发进行编码,测试部署进行测试,首先是主要的业务实现(冒烟测试),接着进行功能测试,出现bug进行跟踪和记录,开发人员进行修改,再次测试并验证,然后进行回归测试,再进行验收测试,通过后进行上线。

7.软件测试分类
技术    阶段    内容    其他
黑盒测试    单元测试    功能测试(界面测试、冒烟测试、回归测试、业务逻辑测试、易用性测试)    冒烟测试
白盒测试    集成测试    性能测试(压力测试、负载测试、并发测试)    随机测试
灰盒测试    系统测试    兼容性测试    安全性测试
     验收测试         回归测试
               Alpha测试
               Beta测试
技术

黑盒测试:不需要了解程序的源代码,通过使用整个软件功能来验证程序是否满足需求的测试方法
白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法
灰盒测试:一种基于程序运行时的外部表现同时又结合程序内部结构来设计测试数据的测试方法
阶段

单元测试:对一个模块、一个函数或者一个类来进行正确性检验的测试方法
集成测试:单元测试后,将单独的模块按照设计要求组装成为子系统或系统,作为整体进行测试的测试方法
系统测试: 集成测试后,将硬件、软件看作一个整体,对系统的功能及性能的总体测试
验收测试:系统测试后以用户测试为主,或有测试人员共同参与检验软件质量的测试方法
性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行校验的测试方法

压力测试:通过逐步增加系统负载,测试系统性能的变化,并确定在什么条件下系统性能处于失效状态
负载测试:通过逐步增加系统负载,测试系统性能的变化,在满足性能指标的情况下,系统所能承受的最大负载量的测试
并发测试:是一个负载测试和压力测试的过程,即逐渐增加并发用户数负载直到系统的瓶颈,通过分析资源监控指标等来确定系统并发性能

 

兼容性测试:

​游览器的,不同版本,分辨率

​手机型号,不同版本,分辨率

 

常知识:测试部门的组织结构     日报/周报    oa办公软件        新人如何融入团队等等
————————————————————————————————————————————————————————————————



这篇关于2021-05-10的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程