第15贴【2004-5-31】:Client/Server测试
Roger S. Pressman
通常,客户/服务器软件的测试发生在三个不同的层次:
(1)个体的客户端应用以“分离的”模式被测试--不考虑服务器和底层网络的运行;
(2)客户端软件和关联的服务器端应用被一起测试,但网络运行不被明显的考虑;
(3)完整的C/S体系结构,包括网络运行和性能,被测试。
下面的测试方法是C/S应用中经常用到的:
应用功能测试--客户端应用被独立地执行,以揭示在其运行中的错误。
服务器测试--测试服务器的协调和数据管理功能,也考虑服务器性能(整体反映时间和数据吞吐量)。
数据库测试--测试服务器存储的数据的精确性和完整性,检查客户端应用提交的事务,以保证数据被正确地存储、更新和检索。
事务测试--创建一系列的测试以保证每类事务被按照需求处理。测试着重于处理的正确性,也关注性能问题。
网络通信测试--这些测试验证网络节点间的通信正常地发生,并且消息传递、事务和相关的网络交通无错的发生。
第16贴【2004-6-1】:软件质量
“每一个程序都能正确地做某件事,但是这并不是我们想要它作的事情。”这样的软件不能算一个质量好的软件。
我们如何定义软件质量呢?可以从不同的角度来看待软件质量并对其定义,它们有一些共同点:强调软件与得到了清晰描述的功能和性能需求的符合度、明显的文档标准以及被认为是所有专业开发的软件所具备的隐式特征。
ISO9126从如下几个方面来衡量软件质量:功能性、可靠性、可用性、可维护性、效率、可移植性。
如下三个方面应该尤其被重视:
1、软件需求是质量测度的基础。需求符合性的缺乏也就是缺乏质量;
2、特定的过程定义了一套开发标准,用以指导软件开发的方式。如果标准未能遵守,那么缺少质量就几乎是肯定的结论;
3、除了功能需求等显示的需求外,要对非功能的隐式需求重视(例如,对好的可维护性的期望)。如果软件符合其他显式的需求,但是未能满足隐式需求,软件质量仍然是值得怀疑的。
软件质量是一个多因素的复杂混合,这些因素随着不同的应用和需要它们的用户而变化。测试时需要根据一定的质量标准有针对性的进行测试。
第17贴【2004-6-2】系统测试方法之恢复测试
Roger S. Pressman
许多基于计算机的系统必须在一定的时间内从错误中恢复过来,然后继续运行。在有些情况下,一个系统必须是可以容错的,这就是说,运行过程中的错误不能使整个系统的功能都停止。在其他情况下,一个系统错误必须在一个特定的时间段之内改正,否则就会造成严重损失。
恢复测试是通过各种手段,让软件强制性地发生故障,然后来验证恢复是否能正常进行的一种系统测试方法。如果恢复是自动的(由系统本身来进行的),重新初始化、检查点机制、数据恢复和重启动都要进行正确验证。如果恢复是需要人工干预的,那么要估算修复的平均时间是否在可以接受的范围之内。
第18贴【2004-6-3】:系统测试方法之安全测试
Roger S. Pressman
任何管理敏感信息或者能够对个人造成不正当伤害的计算机系统都是不正当或非法侵入的目标。侵入包括了范围很广的活动:只是为练习而试图侵入系统的黑客;为了报复而试图攻破系统的有怨言的雇员;还有为了得到非法的利益而试图侵入系统的不诚实的个人。
安全测试用来验证集成在系统内的保护机制是否能够在实际中保护系统不受到非法的侵入。引用Beizer的话来说:“系统的安全当然必须能够经受住正面的攻击--但是它也必须能够经受住侧面的和背后的攻击。”
在安全测试过程中,测试者扮演着一个试图攻击系统的个人角色。测试者可以尝试去通过外部的手段来获取系统的密码,可以使用可以瓦解任何防守的客户软件来攻击系统;可以把系统“制服”,使得别人无法访问;可以有目的地引发系统错误,期望在系统恢复过程中侵入系统;可以通过浏览非保密的数据,从中找到进入系统的钥匙;等等。
只要有足够的时间和资源,好的安全测试就一定能够最终侵入一个系统。系统设计者的任务就是要把系统设计为想要攻破系统而付出的代价大于攻破系统之后得到的信息的价值。
第19贴【2004-6-4】:系统测试方法之压力测试
Roger S. Pressman
在较早的软件测试步骤中,白盒和黑盒技术对正常的程序功能和性能进行了详尽的检查。压力测试(Stree
Testing)的目的是要对付非正常的情形。在本质上说,进行压力测试的人应该这样问:“我们能够将系统折腾到什么程度而又不会出错?”
压力测试是在一种需要反常数量、频率或资源的方式下运行系统。例如,
(1)当平均每秒出现1个或2个中断的情形下,应当对每秒出现10个中断的情形来进行特殊的测试;
(2)把输入数据的量提高一个数量级来测试输入功能会如何响应;
(3)应当执行需要最大的内存或其他资源的测试用例;
(4)运行一个虚拟的操作系统中可能会引起大量的驻留磁盘数据的测试用例。
从本质上来说,测试者是想要破坏程序。
压力测试的一个变种是一种被成为是敏感测试的技术。在有些情况(最常见的是在数学算法中)下,在有效数据界限之内的一个很小范围的数据可能会引起极端的甚至是错误的运行,或者引起性能的急剧下降,这种情形和数学函数中的奇点相类似。敏感测试就是要发现在有效数据输入里可能会引发不稳定或者错误处理的数据组合。
第20贴【2004-6-5】:系统测试方法之性能测试
Roger S. Pressman
在实时系统和嵌入式系统中,提供符合功能需求但不符合性能需求的软件是不能被接受的。性能测试就是用来测试软件在系统中的运行性能的。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。
性能测试经常和压力测试一起进行,而且常常需要硬件和软件测试设备,这就是说,常常有必要的在一种苛刻的环境中衡量资源的使用(比如,处理器周期)。外部的测试设备可以监测测试执行,当出现情况(如中断)时记录下来。通过对系统的检测,测试者可以发现导致效率降低和系统故障的原因。
文章来源于领测软件测试网 https://www.ltesting.net/