1. 性能测试与功能测试关系
2. 性能自动化测试优势
3. 性能测试定义与要点
- 性能测试通常在功能测试基本完成后进行。该要点主要强调性能测试开展的时间问题。虽然总是强调功能测试和性能测试同等重要,应同时开展。但在大多数实际工作中,性能测试的开展会滞后于功能测试。其原因主要在于性能测试属于综合性测试,只有在功能测试通过后,性能测试才会有较大意义。但是对于两类软件存在例外,其性能测试一般进行的较早,几乎伴随着单元测试同步进行。第一类是系统软件,如:操作系统或者数据库。这类软件的性能测试就需要尽早开展,否则在最后阶段发现性能问题的话,则很有可能导致整个系统被推翻。第二类是对性能要求较高的应用软件,如奥运会、银行、联通的系统,这类软件对性能的要求远高于一般软件,倘若在最后测试时发现性能问题,通常是系统架构或者某些关键算法设计不合理所导致,这时候再进行修复的话也会给整个项目带来很大的困扰,甚至也会推翻整个系统。
- 性能测试计划、测试方案和测试用例大多情况统一在一个文档里。很多企业会将性能测试相关的内容作为一个“性能测试方案文档”专门编写,里面会涵盖了性能测试的场景设计、测试脚本、测试结果分析等,这样可以作为一个整体提供给其他部门或客户。
- 性能测试环境应尽可能同用户生产环境保持一致。该条规则十分重要,直接影响着性能测试结果的真实性和有效性。强调测试环境的一致性主要从以下方面考虑:1)硬件环境,包括:客户端、服务器和网络三方面的环境要求。如:客户端系统硬件配置、服务器的各项配置、是否和其它应用程序进行资源共享、是否在集群环境下、是否进行负载均衡、网络速度等。2)软件环境,包括:软件版本、参数设置方面的一致性要求。如:操作系统或数据库的版本、被测的应用软件的版本以及使用到的第三方软件的版本、数据库的并发读写数、SGA/PGA设置、连接池参数设置等。3)测试使用场景的一致性。如:使用的基础数据、模拟用户真实使用场景的一致性等。
- 性能测试工作的重点和难点在于前期数据设计和后期数据分析。这条规则强调千万不要认为借助工具可以代替我们做所有的测试工作。工具的使用很简单,但是前期的用例设计、场景分析需要花大量功夫去研究。工具帮助我们收集了大量的测试数据之后,重中之重的一项工作就是对数据进行分析,确定系统瓶颈所在,这一部分工作往往需要测试工程师具备丰富的项目经验和扎实的技术功底。
- 性能测试用例通常基于系统整体架构进行设计,往往具备高复用性。通常不随系统某个功能点的修改而变更。但当系统发生较大变动(如系统业务流程修改)后,建议读者重新设计性能测试用例。
|