一.最重要的——软件测试的基础理论知识
对于应届生来说,最薄弱的地方就是没有实际工作经验。那么对于软件测试的理论知识就要掌握熟练。下面我列出一些最最最基础的知识点:
1、什么是软件测试
答:使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。
2、什么是软件质量
答:软件产品的特性可以满足用户的功能、性能需求的能力。
3、软件测试级别
答:单元测试,集成测试,确认测试,系统测试,验收测试
4、软件测试类型
答:功能测试、性能测试、配置测试、强度测试、负载测试、压力测试、稳定性测试、网络测试、UI界面测试、分辨率测试、安装测试、可靠性测试、安全性测试、兼容测试、并发测试等等(常见的记住就行)
5、测试方法
答:动态测试,静态测试,黑盒测试,白盒测试,灰盒测试。
*黑盒测试方法:
等价类划分法,边界值分析法,错误猜测法,因果图法,状态图法,测试大纲法,随机测试场景法等
白盒测试方法:
语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖。
还有:手工测试,自动化测试,安全性测试,探索性测试,随机测试,冒烟测试,α测试,β测试等
6、黑盒测试和白盒测试各自的优缺点
(1)黑盒测试:
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
优点:
比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些问题;在做软件自动化测试时比较方便。
缺点:
不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。
(2)白盒测试:
白盒测试也称为结构测试,主要用于检测软件编程过程中的错误。程序员的编码经验,对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
优点:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
缺点:
程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销非常大。
7、
软件开发流程:
计划,需求分析,设计,程序编码,测试,运行/维护
软件测试流程:
测试计划,需求分析,编写测试用例,测试用例执行,提交BUG,回归测试
8、软件质量的六大特性
答:功能特性,可靠,易用,效率,可维护,可移植。
9、测试用例的组成
答:用例编号,用例名称,测试背景,前置条件,优先级,重要级,测试数据,测试步骤,预期结果,实际结果,备注
10、常见的测试用例设计方法
答:等价类划分法,边界值分析法,错误推测法,因果图法,正交表分析法,场景分析法。
11、BUG的生命周期
答:新建,提交,确认,分配,修复,验证,关闭。
12、BUG的等级
答:致命,严重,一般,低级
(可以去详细看看具体内容有哪些)
13、缺陷报告的组成
答:缺陷编号,日期,缺陷标题,缺陷优先程度,缺陷所属模块,缺陷所属版本,执行流程,预计结果,输出结果,缺陷分析,缺陷所属开发人员,缺陷描述等。
14、测试计划的组成
答:背景,项目简介,目的,测试范围,测试策略,人员分工,资源要求,进度计划,参考文档,常用术语,提交文档,风险分析。
15、测试报告的组成
答:(1)概述:包括项目背景,需求分析
(2)测试时间,测试环境
(3)测试过程:评审记录,测试范围,测试用例
(4)功能实现清单:列出是否已经按照测试计划实现的功能
(5)缺陷统计:测试缺陷统计,测试用例执行情况统计
(6)测试统计情况:资源统计,执行情况,问题统计,问题列表,遗留问题
(7)测试总结:测试结论,测试内容,测试用例的覆盖程度,bug的解决程度
(8)测试风险
16、负载测试和压力测试
负载测试:指在超负荷环境下,系统的性能
压力测试:指在当前软硬件条件下,系统所能承受的最大负荷并找出系统的瓶颈所在。
17、性能测试常用指标
(1)从外部看,主要有:
吞吐量:每秒钟系统能够处理的请求数,任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
(2)从服务器的角度看:
cpu,内存,服务器负载,网络,磁盘IO
本文章仅用于学习参考,由于是个人的学习记录,内容可能存在雷同,敬请见谅,后续内容会慢慢更新