测试看法

上一篇 / 下一篇  2014-05-26 22:49:00 / 个人分类:other

国内多数软件公司是针对最终用户进行项目开发而不是产品开发,项目开发周期短,不同的用户需求不一样,而且在整个开发过程中需求、用户界面变动都比较大,这种情况下就不适合引入功能测试工具。因为对于变化大的需求和界面,录制或开发、修改脚本的工作量远远大于手工测试的工作量,又不能通过今后大量重复的回归测试收回成本,这种情况下运用测试工作不但不能减轻工作量,反而加重了测试人员的负担。这时,可以考虑引入白盒测试工作,特别是针对代码进行直接检查、分析的工作,用以提升代码质量。

 

 

由于手工测试具有一定的局限性,如手工测试无法模拟系统运行几十年,无法模拟大量用户等,多以只能引用软件测试自动化。软件测试自动化主要是通过开发软件测试工具、脚本等来实现的,具有良好的可操作性、可重复性和高效率等特点,是软件测试中提高测试效率、覆盖率和可靠性等的主要测试手段。

 

测试工作可以根据不同的测试方法、对象和目标进行分类,如白盒测试工具、黑盒测试工具、单元测试工具、功能测试工具、负载测试工具等。选择测试工具不仅要遵守一定的程序和步骤,而且要注重测试工具的特性,应结合自己的实际应用特点来作出决定。最流行的工具不一定适合自己,真正适合自己的工具才是最好的。

 

在开源工具越来越多,其功能越来越强的时候,开源工具可能是更明智、更经济的选择。

 

 

 

如果系统只是满足了功能要求,没有满足一些非功能特性(性能、安全性等)要求,还是不能满足客户的要求,不能获得用户的信任。如某个网站功能齐全,也可以被访问,但是,每打开一个页面都要求两分钟。结果,用户不能忍受,再也不会访问这个网站。这种非功能性的需求满足和功能性的需求满足同样需要。

 

 

系统测试:容量测试,性能测试,兼容性测试,安全性测试,负载测试,故障转移测试(关系着(质量需求):性能,可用性,扩充性,维护性,兼容性,安全性,可靠性)

 

 

负载测试(Load Test:也称压力测试、强度测试。负载测试通过模拟实际应用的软硬件环境及用户使用过程的系统负荷,逐渐加载或一次性加载,长时间或超大负荷地运行软件,以测试系统的稳定性,并试图找出系统性能的瓶颈和异常的地方等。通过负载测试,也可以确定系统的正常工作条件、极限条件等,并了解系统可靠性等,从而提高软件系统的可靠性、稳定性,减少系统的宕机时间。

 

性能测试(Performance Test:通过测试确定系统运行特性的性能指标数据,如数据吞吐量、响应时间、CPU使用率等。性能测试可以分为3类:

》 验证测试,针对系统验证事先已定义的性能指标

》 基准测试,就是在系统标准配置下获得有关的系统指标数据,其测试结果应具有高度的一致性、标准性,可作为将来性能改进的基准线

》 规划测试,是为软件部署而进行的测试,既在多种特定的环境下,获得系统不同性能的指标,从而决定在系统部署时采用什么样的软、硬件配置

 

容量测试(Capacity Test:预先分析出反映软件系统应用特征的某项指标的极限值,了解该软件系统的承载能力或提供服务的能力。系统在极限值状态下,主要功能还能正常运行。容量测试还将确定测试对象在给定时间内能过持续处理的最大负载。容量测试可以看作负载测试和性能测试的组合。

 

安全测试Security Test),检验系统权限设置的有效性,防范非法入侵的能力,数据备份和恢复的能力等,例如,测试人员可以假扮非法入侵者,试图采用各种办法突破系统防线,修改权限或存取权限之外的数据

 

 

容错测试(Recovery Test),检查软件在异常条件下是否具有防护性的措施或者恢复某种灾难性破坏的手段或能力,容错性测试包括两个方面:

》 输入异常数据或进行异常操作,以检验系统的保护性。如果系统的容错性好的话,系统只给出提示或内部消化掉,不会导致系统出错甚至崩溃

》 灾难恢复性测试。通过各种手段,让软件强制性发生故障,然后验证系统已经保存的用户数据是否丢失,系统和数据是否能尽快恢复或在指定时间间隔内恢复。

对于自动恢复,需验证重新初始化、检查点

数据恢复和重新启动等机制的正确性;对于人工干预的恢复系统,还需估测平均修复时间,确定其是否在可接受的范围内。容错测试盒故障转移、可用性测试等有直接地关系。

 

 

总结:系统测试就是验证系统是否符合非功能特性的质量需求,包括性能、安全性、兼容性、可靠性等,而且这些特性相互之间有一定的关系,所以再进行系统测试之前,要规划好系统测试执行的先后次序以及测试结果的共享。


TAG:

 

评分:0

我来说两句

Open Toolbar