软件测试实习笔记1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
***************************
学习性能测试,掌握课程内容
性能测试知识点总结:
--典型性能指标
虚拟并发用户数(Total Virtual Users)
单位:个
交易响应时间(Response Time)
单位:second/ millisecond
并发用户/响应时间图负载图
每分钟交易数(Trans Rate)
吞吐量图(ThroughOut)
--服务器负载压力指标
操作系统
CPU
内存
硬盘
数据库
* User Connections :用户连接数,也就是数据库的连接数量;
* Number of deadlocks:数据库死锁;
* Butter Cache hit :数据库Cache的命中情况
--应用系统的指标
应用系统根据自身功能性能要求确定的指标:比如
支持的画面数量
TAG点的数量
一幅画面中支持的最多控件数量
检控更新周期
能够管理的IP数量
--性能测试
系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等,我们这里重点讨论的负载压力是系统性能的一个重要方面。
性能测试用来保证产品发布后系统的性能满足用户需求。性能测试在软件质量保证中起重要作用。
--负载测试
负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,
例如稳定性和响应等。
负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。
--压力测试
压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。
--负载压力测试
负载压力测试是性能测试的重要组成部分,负载压力测试包括:
并发性能测试(重点)
疲劳强度测试
大数据量测试
--并发性能测试
考察客户端应用的性能,测试的入口是客户端
并发性能测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发虚拟用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、资源监控指标等来确定系统并发性能的过程。并发性能测试是负载压力测试中的重要内容。
--疲劳强度测试
通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
--大数据量测试
大数据量测试的两种类型
独立的数据量测试
针对某些系统存储、传输、统计、查询等业务进行大数据量测试
综合数据量测试和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试方案
--考察系统配置
连接到系统的用户数
应用程序客户端计算机的配置情况(硬件、内存、操作系统、软件、开发工具等)使用的数据库和Web 服务器的类型(硬件、数据库类型、操作系统、文件服务器等)
服务器与应用程序客户端之间的通信方式
前端客户端与后端服务器之间的中间件配置和应用程序服务器
可能影响响应时间的其他网络组件(调制解调器等)
--分析使用模型
考虑哪些用户使用系统
每种类型用户的数量
每个用户的典型任务
确定活动峰值期的发生时间
负载峰值期间的典型活动
--并发用户估算
结合某类软件高峰期,范围,做一个推论形的方案,比如30:1,前指在线用户,后指并发用户。
用得频繁,比率就变为如15:1
最大200:1 最小15:1
--选择测试工具的策略
自动负载测试
开放资源(OpenSource)测试
自主开发代码测试
--开放资源(OpenSource)测试
开放系统测试体系-OpenSTA /)
TestMaker(/)
Apache JMeter (/jmeter/)
--性能测试成功标志
系统运行正常
重复三次,每次结果在误差允许之内。如目标值的上下20%之内。
资源监控指标能够获取有效值。
--WEB 测试注意点
***************************
掌握用户验收测试课程内容
--定义
用户验收测试是软件开发结束后,用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求,以及用户能否接受的问题
。由于它不只是检验软件某个方面的质量,而是要进行全面的质量检验,并且要决定软件是否合格,因此验收测试是一项严格的正式测试活动。需要根据事先制订的计划,进行软
件配置评审、功能测试、性能测试等多方面检测。
--用户验收测试的准入条件
在真正进行用户验收测试之前一般应该已经完成了以下工作(也可以根据实际情况有选择地采用或增加):
软件开发已经完成,并全部解决了已知的软件缺陷。
验收测试计划已经过评审并批准,并且置于文档控制之下。
对软件需求说明书的审查已经完成。
对概要设计、详细设计的审查已经完成。
对所有关键模块的代码审查已经完成。
对单元、集成、系统测试计划和报告的审查已经完成。
所有的测试脚本已完成,并至少执行过一次,且通过评审。
使用配置管理工具且代码置于配置控制之下。
软件问题处理流程已经就绪。
已经制定、评审并批准验收测试完成标准。
--用户验收测试(UAT)的目的:
从最终用户的角度,验证软件系统符合需求定义的各种功能和技术需求,验证各业务流程执行情况,为用户是否接受软件系统提供决策依据。
***************************
了解测试自动化,JUnit,TDD
Junit
JUnit是由Erich Gamma 和Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
另外junit是在xp编程和重构(refactor)中被极力推荐使用的工具,因为在实现自动单元测试的情况下可以大大的提高开发的效率,但是实际上编写测试代码也是需要耗费很多的时间和精力的,那么使用这个东东好处到底在哪里呢?笔者认为是这样的: