软件测试基础知识总结(一)
一、什么是软件测试?
1、软件测试是指使用人工或者自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
二、一般的软件测试的应用场景有:
APP、WEB和小程序。
三、软件测试的发展历程:
软件测试从开始到现在,已经经历了三个阶段的发展,到现在正式第三阶段到第四阶段的过渡期;
第一阶段:定义的软件测试,是去证明软件是正确的。在这种情况下,导致了很多异常的情况根本无法被发现,软件的质量都比较差,不稳定,很容易出问题;
第二阶段:软件测试是去证明软件是错误的。软件测试就是去找软件存在的问题,虽然现在软件测试已经发展到第三阶段很久了,但是好多做测试的还是在以这个思路去测试软件。
第三阶段:实现了一个跨越式的变化,把软件测试和软件的质量关联了起来。软件测试再也不是单纯的去找BUG,还要起到一 个预防BUG的作用,也就是说,做测试不能单纯的去找BUG,而要去知道BUG产生的原因是什么,怎么才能避免产生更多的BUG。
第四阶段:软件测试从本质和定义上没有什么变化,但是随着国内的软件行业的快速发展,对软件测试的要求,越来越偏向于技术。后期应注重自我技能的提升,不断学习,避免被淘汰;
四、软件测试的分类:
按照测试方向分:功能测试、性能测试、安全测试
功能测试:是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能;其实就是现在常见的点点点。
性能测试:是对产品的各功能的性能指标进行测试,通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试;
安全测试:常规是指对产品的数据安全性进行测试,模拟黑客攻击我们的系统,发现安全漏洞,即时修复。常见的安全测试手段有SQL注入,漏洞扫描,暴力破解,跨站攻击等等。
静态测试:是指不运行被测试产品本身,通过分析源程序代码检查产品的正确性; 动态测试:是指把产品运行起来进行测试产品的运行结果与预期结果的差异,并分析其性能指标。
按测试方法进行分类:黑盒测试、白盒测试、灰盒测试;
黑盒:着重与程序的外部结构,不考虑内部逻辑;
白盒:考虑内部逻辑结构,对外部结构透明;
灰盒:介于黑白盒之间,既考虑输入输出的正确性,也考虑程序内部结构;
按软件类型分类:APP测试,WEB测试,小程序测试等
按测试阶段分类:单元测试、集成测试、系统测试、验收测试
单元测试:项目还在写方法(函数)的时候,就是整个软件还没有成型的时候就进行测试了。测试内容只要是对开发写的代码进行测试,目前国内这个阶段一般由开发自己完成;
集成测试:是指测试模块与模块之间的接口,主要是对接口的测试;
系统测试:是指对整个项目做一个完整的测试**。包括了UI测试、功能测试、兼容性测试、性能测试,等等;
验收测试也称上线测试:是在整个软件已经开发完毕,上线发布这个软件前会做一个上线前测试,没有明显的BUG了,达到了可以给用户使用的标准了。
冒烟测试:二八原则,杀虫剂悖论 检查开发提交的产品是否具备测试的条件。随意的测试一下整个产品。例如:在系统测试中,挑选几个比较重要的接口,发现一半的接口都在报错,即为冒烟测试不通过,转给开发重新完成开发。
本文档部分内容取自于大牛博客,若有侵权,可联系删除。