小言_互联网的博客

软件测试的第一步

289人阅读  评论(0)

前言

先简单介绍一下自己,16年本科毕业,到现在已经从事软件测试已经三年多了(实习期间就像玩闹一样,就不算在内吧),我想对我之前的工作进行一个总结,以后也会不定期的更新,希望对想加入软件测试或者已经处于软件测试的朋友们有所帮助,如有有什么写的不对的,也欢迎指正,谢谢。

软件测试的流程

在我心中每做一件事,都会有以下几个步骤:
1.目的,目的尤其重要,你做这件事实为了什么?做这件事你要达成什么目的;
2. 计划,达成这个目的,你需要一个计划,计划的制订会直接影响到你完成这件事的效率;
3. 方案,方案是对计划当中一些需要进行的步骤的诠释,方案其实也可以归类到计划当中去,划分出来的原因是避免计划太过冗余复杂,并使我们所做的事情更加明确;
4. 执行,把执行放在这一步,第一是体现前置工作的重要性,第二就是体现流程的严谨性;
5. 总结,做完这件事的总结,同时记录自己在做事过程中的经验以及不足之处

可能已经有朋友发现了,这个和我们平时工作流程十分相似,是的,这个流程还适用于很多场景下,比如你想和一个女孩表白等等,将工作中的经验合理适用到生活当中。
下面我再简述一下平常项目工作当中的流程(假设以开发微信为例子):
1.立项,立项相当于上面我们说的目的,一般市场经过调研,以及大数据分析等等,会得到一些结论:像即时通讯市场未饱和,话费过于昂贵,视频通话的需求等等(我随手打上去的),所以立项其实就是为了解决这些问题而进行的一个项目研发。
2.需求分析,需求分析会议更多的是对当前设计是否合理而进行的讨论,一般参加这个会议的会有:产品、市场、开发、测试四大部分组成,以上四部分的人数最少一人,最多由项目决定,通俗的讲,需求分析会对设计的每一个功能项是否能开发实现而存在的,比如微信的语音电话功能,假设初始的设计是将语音电话功能和视频电话功能是分开的,由于分开导致的结果是选项变多,从而影响用户的体验,产品将对语音电话功能与视频电话功能进行合并到二级菜单,使主要界面更加简洁美观。(假设的一个场景)
3.研发,这个时候项目已经进入到研发阶段,同时我们也应该在进行编写测试计划、测试用例等等,相当于是一种并行工作吧。
4.用例评审,先说说用例评审的目的吧,为了保证项目各个成员对项目的细节能保持一致,避免后期因为需求不对等导致项目延期等等,参与用例评审的成员主要有:产品、开发、测试;丰富当前的测试用例。
5.执行测试,到了这一步,项目已经研发完毕了,这个时候就进入了测试阶段,在这个之前我们也应该将环境搭建好了,我们测试最好是按照测试用例上一条一条的过;
6. 预发布测试,这个测试将在无限接近现网环境下或者就是现网环境下进行测试,相当于发布前的最后一次测试;
7. 发布测试报告,对项目研发阶段的测试总结;
8. 上线,线上跟踪,对线上反馈的问题进行验证,回归等等。

软件测试的分类

对于软件测试的分类这块我了解不深,

  1. 根据客户端的不同可以分为:
    1. web测试
    2. app测试
    3. PC端测试
  2. 根据测试的内容可以分为:
    1. 功能测试
    2. 性能测试
    3. 自动化测试
  3. 根据是否触及代码又可以分为:
    1. 黑盒测试
    2. 白盒测试
    3. 灰盒测试

这些都是细分,其实我们做测试只要明确测试目的,要达成这个目的,我们需要进行什么类型测试,进行这些测试的时候需要使用什么测试工具

测试用例设计方法介绍

  1. 等价类划分法
  2. 边界值分析法
  3. 错误推导论
  4. 因果图法
  5. 判定表驱动法
  6. 正交实验法
  7. 功能图法
  8. 场景法
    测试用例的综合策略(经验干货):
    1. 在热河情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强;
    2. 必要时用等价类划分法补充一些测试用例;
    3. 用错误推测法再追加一些测试用例;
    4. 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;
    5. 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法;

测试用例的制订原则:
测试用例要包括需要测试的功能,应输入的数据和预期的输出结果。测试数据应该选用少量、高效的测试数据进行测试,设计一组发现某个错误或某类错误的测试数据,测试用例应覆盖方面:
1. 正确性测试:输入用户实际数据以验证系统是满足需求,测试用例中的测试点应首先保证要测试的各项功能,并且正常。
2. 容错性(健壮性)测试:程序能够接收正确数据输入并且产生正确(预期)的输出,输入非法数据(非法类型的数据等),程序应能给出提示并进行相应处理,把自己想想成一名对产品操作一点都不懂得客户,再进行任意操作;
3. 安全性测试:对未授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部完整;
4. 借口检测室:测试各个模块相互的协调和通信情况,数据输入输出的一致性和正确性;
5. 数据库测试:依据数据库设计规范对软件系统的数据库结构,数据表及其之前的数据调用关系进行测试;
6. 边界值分析法:分许便捷情况(刚好等于,稍小于和稍大于和刚刚大于等价类边界值),针对我们的系统在测试的数据/非法数据,主要在边界值附近选取
7. 压力测试:可以分为单接口压力测试以及场景压力测试,实现的方法可以通过工具或者直接在服务器上编写脚本达到测试目的,新手建议用工具实现;
8. 效率:完成预定功能、系统的运行时间(主要是针对数据库而言)

感谢朋友们的阅读,希望能有所帮助,谢谢。
Derst
2019.10.7 16:22:36


转载:https://blog.csdn.net/Derst/article/details/102290395
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场