初级软件测试相关知识
一、静态测试和动态测试
1、静态测试:静态测试并不会真正运行计算机源程序,只会进行特性分析,这是和动态方法以及人工测试不同的。因此静态方法常称为“分析”,静态分析是对被测程序进行特性分析的一些方法的总称。
静态分析常见的代码分析工具有:
Ounec5.0,可扫描VB、C、C++、C#、Java,属于付费工具
Coverity Prevent:扫描语言有:C、C++、Java、C#,付费工具
Stake SmartRiskAnalyzer,扫描C、C++、JAVA,付费工具
Rational Purify:C、C++、Java,付费工具
Jtext:扫描语言Java,付费工具
Flawfinder,扫描语言C、C++,付费
Static Code Analyzer:扫描语言C、C++、C#、Java,付费工具
PolySpace Client:扫描语言C、C++、Ada,付费
RATS:扫描语言C、C++、python、perl、php,开源
Fluid:扫描java,开源
2、动态测试:
动态测试主要特征是计算机必须真正运行被测试的程序,通过输入测试用例对其运行情况(输入/输出的对应关系)进行分析。日常测试属于动态测试。
二、黑盒、白盒测试
1、黑盒测试:
黑盒测试基于产品(程序)的功能。在程序中把程序看作不能打开的黑盒子,不考虑程序内部的实现的情况下,对程序的功能进行测试。
2、白盒测试:
白盒测试是基于代码的测试。白盒法全面了解了程序的内部结构,对软件的内部实现逻辑进行测试。
一般来说,在进行单元测试时通常采用白盒测试,而在确认测试或系统测试中大都采用黑盒测试。
常见的软件测试覆盖逻辑:
a、语句覆盖:它要求被测程序的每一个执行语句在测试中尽可能都被检验过,这是最弱的逻辑覆盖准则
b、分支覆盖或判断覆盖:要求程序中所有判定的分支尽可能得到检验。
c、条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验。
d、判断/条件覆盖:同时考虑条件的组合值及判定结果的检验。
e、路径覆盖:只考虑对程序路径全面检验
值得注意的是,无论哪种测试覆盖,即使其覆盖率达到百分之百,也不能保证把所有隐藏的程序缺陷都揭露出来。
三、软件测试过程:
软件测试过程按照先后次序可以分为5步:单元测试,集成测试,确认测试和系统测试,最后进行验收测试。
单元测试:是指对软件中最小可测试单元进行检查和验证。
集成测试:在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。这里比较多的采用黑盒测试法来设计测试用例。
确认测试:确认测试是检验所开发的软件能否满足所有功能和性能需求的最后手段,通常使用黑盒测试方法。
系统测试:是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。再例如,压力测试是测试系统在正常数据量以及超负荷量(如多个用户同时存取) 等情况下是否还能正常地工作。
验收测试:检验软件产品质量的最后一道工序,又称为交付测试。这时相关的用户和独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。
四、测试用例
测试用例一般包括:用例编号、用例描述、优先级、用例类型、前置条件、操作步骤、预期结果、实际结果等。
五、测试设计技巧与规范
1、web类测试实践
a、页面元素的用例设计:
输入框:
例1:可以填写任意字符,长度不超过20:
<针对长度边界值设计>
1.[空,报错] 2.[长度为1,正常] 3.[长度为20,正常] 4.[长度为21,报错]
<正常类别>
1.[数字,正常] 2.[符号,正常] 3.[符号.数字.字母,正常] 4.[汉字,正常]
<安全性>
[Xss攻击,正常]
例2:小数点最多两位,长度不超过10的输入框
<正常类别>
1.[0,正常] 2.[1,正常] 3.[1.1,正常] 4.[0.11,正常]
<异常类别>
[包含非数字的字符,空,1.234,12345678901]
下拉菜单:
例1:选项为:空、A、B、C,默认为空不可写下拉框。
·<正常用例>
[选择空,A,B,C,默认为空,不可写检查]
多控件组合:
例1:table表格,展示数据:名字和金额。
<检查页面元素>
[table格式和样式,其他页面样式]
<页面数据检查>
[名字为空,名字含汉字,名字为最大长度,金额为0,金额带两个小鼠,金额长度最长]
例2:提交页面:一个输入框,一个下拉框,以及提交按钮
<页面元素检查>
[元素是否正常,元素的样式是否符合要求]
<针对每个元素进行测试用例设计>
可参考上面的案例
<页面跳转>
[符合要求填写内容后提交,不符合要求的内容提交]
<外部异常>
[后台报错,网络问题等]
六、移动APP测试
树形移动APP测试:
APP内部功能测试:
1、单个页面测试用例:界面控件,与web测试类似
2、界面之间的跳转逻辑
3、启动、退出、更新
APP硬件环境相关测试用例:
1、访问权限、传感器
2、不同机型
APP软件环境相关:
1、不同APP之间频繁切换
2、不同的网络环境
性能测试:
1、耗电量
2、网络流量
七、游戏类测试
游戏开发需要通过各种调查、评估,确定开发游戏的范围或者项目,然后对市面上的此类游戏进行测试。测试人员需要去玩和开发相同类型的游戏。全面的测试报告包括:可玩性、功能方面、画面、性能、所需配置、社群体系等。
游戏测试用例相较于软件测试复杂很多,游戏本身就是一个相对复杂的软件。
1、游戏基本功能的测试思路:
2、游戏启动测试项:
游戏图标:图标大小符合设计,图案与需求说明书一致
界面显示:不同分辨率下显示全屏,启动成功后光标模型显示正确
启动项检查:启动时间不超过需求中规定的时间,启动成功后游戏进程名没有错误
按键操作:启动过程中通过功能键强制中断
3、游戏各个界面的测试:
4、更多游戏元素:
游戏界面只是游戏内容的一小部分,实际上游戏内容远不止繁多的界面,通常还包含:角色人物、道具、音效、成绩、生命值、奖惩规则等元素。
游戏元素测试项:
5、资源占用测试:
一般,游戏相对于普通应用程序而言,因为需要处理动画、更加复杂的算法、逻辑、资源文件等。需要占用更高的CPU和内存空间。因此需要记录这两项数值情况,选择重要的初始值和峰值记录。
资源占用测试项:
测试场景:
(1)CPU占用:线程越多,读写操作越频繁,则CPU占用数值就越高。
(2)内存消耗:加载的界面和元素越多内存消耗就越大。需要对游戏的所有场景进行测试。
6、异常场景设计:
异常场景测试是对测试用例覆盖率最有效的补充,往往最容易暴露问题的就是异常的操作或环境。用例设计需要考虑游戏与系统如何进行数据交互、游戏如何采用框架以及哪些数据需要跟其他软件进行传递。
假如一款游戏运行在Linux系统上,与底层通过Pipe管道进行交互,问价成绩通过score.xml进行文件保存。此异常场景的测试项:
初级软件测试相关知识相关推荐
- 实习总结之软件测试相关知识
软件测试是为了尽早发现软件缺陷,确保缺陷修复,以提高软件质量.决定软件质量的关键是需求分析.设计和实现,而测试是贯穿于上述过程的一种检查手段.即便功能开发好了,没有经过测试,这也是一个不可靠的程序. ...
- 软件测试相关知识软件测试专业博客推荐
Nonesuch 2011-11-28 18:31:00 朱少民 --- 软件测试.质量管理 http://blog.csdn.net/kerryzhu 陈绍英 --- 性能测试 http://b ...
- fiddler模拟服务器响应,2020军队文职计算机知识:【软件测试基础知识】如何使用fiddler模拟接口服务器...
[导语]2020军队文职计算机知识:[软件测试基础知识]如何使用fiddler模拟接口服务器已发布,为助力各位考生做好2020年军队文职招聘考试准备,中公部队文职考试网提供了军队文职专业科目和综合辅导 ...
- 北大青鸟培训第一天:HTML初级代码介绍和相关知识(持续更新)
代码解释 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...
- 初级软件测试工程师零基础入门指南
初级软件测试工程师零基础入门指南 唐井军 编著 2012年10月 1.基本概念 1.1软件 软件就是可以在计算机上运行的计算机程序,如操作系统Windows.办公软件Office.聊天QQ.手机游戏等 ...
- 初级软件测试面试题哪里可以刷?新发现的这个在线题库,值得一试
对于想要入行到软件测试岗位的人来说,除了需要具备专业的测试知识,通过企业面试官们的面试也是至关重要的一环,因此很多人在正式去面试前,都会提前刷一些往期面试官会问到的测试面试真题,那么哪里有时下最新的初 ...
- linux的内核和发行版本号,【编测编学】linux内核及发行版本相关知识
之前很多孩子就和我说老师我会linux,我就会反问,你学软件测试,你会linux你知道linux的东西如何和企业结合吗? 不是你只会一些cd.chmod.chown.ps.find.tar.vim.v ...
- 软件测试相关的63个国外站点
软件测试相关的63个国外站点 网址 简介 http://bdonline.sqe.com/ 一个关于网站测试方面的网页,对这方面感兴趣的人可以参考 http://ci ...
- 拷机测试需要多久_自学找到一份初级软件测试的工作需要会什么和要多久?
本回答会整理初级全部内容,约4000+字数.自学的话根据自己的吸收理解能力,培训也就3个月左右.不建议先码后看,因为好多人你码了也不看- -! 目录: 软件测试基础知识以及黑盒测试范围 测试用例的编写 ...
最新文章
- 零基础该如何学习Web前端知识?
- yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss
- 剑指offer 算法 (发散思维能力)
- php 邮件发送验证码,发送验证码邮件有什么好的解决方案?
- C++ 11右值引用
- Open3d之裁剪点云
- Topological Sorting(拓扑排序)
- 饥荒一直服务器没有响应,饥荒总是启动服务器进不去 | 手游网游页游攻略大全...
- PbX QDSC稳定性增强的策略及其氧化和钝化对PbSe量子点的影响
- hive卡在最后一个reduce过不去_数据倾斜
- Maven命令行参数
- 成功解决pydotplus.graphviz.InvocationException: GraphViz‘s executables not found
- CSS 常用语法与盒模型分析
- java 执行js脚本_java中调用js脚本
- 18种常见室内花卉的功效 (转自网络)
- 苹果:Kindle Fire与Android平板鹬蚌相争,iPad渔翁得利
- $\frac{dy}{dx}$ 是什么意思?
- 一个优秀的系统集成工程师
- golang函数式编程之柯里化
- Flash:矩形和多边形工具的使用
热门文章
- Maven Nexus OSS 2.xx 教程
- 自动滚动图片怎么制作HTML,最简单的图片滚动.html
- Vue 跨域请求报错No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
- 1086 就不告诉你(C语言)
- iOS 10 中时区问题导致 DateTools 框架 weekday 方法计算不正确
- AD中给大电流开窗时把顶层动态铺铜Polygon变成阻焊层静态Region的方法
- 生物信息学 linux版本,BioInfoServOS:Ubuntu下的生物信息学软件
- 图像处理与图像识别笔记(二)图像变换
- c# 反射的使用场景
- 第三方支付兼并出海浪潮 | 发展趋势篇