软件测试流程及并行测试介绍

Querida ·
更新时间:2024-11-13
· 923 次阅读

  测试流程介绍:

  1、测试计划制定?? 根据项目具体需求制定相应的测试计划方案,该方案需要包括以下几点:a、测试环境配置:包含功能、容灾、压力和性能的测试环境架构设计及机器资源配置信息;b、测试内容:1. 列举本次测试所需覆盖的测试范围;2. 本次测试的重点;c、测试手段: 介绍本次测试所涉及到的技术方法;d、测试日常安排: 包括1. 测试人员; 2. 测试总时间; 3. 具体日程安排等信息;

  2、测试用例设计?? 根据项目需求文档、设计文档及开发代码进行用例设计,具体流程如下:

    a、进行用例设计(有测试人员独立进行设计);

    b、用例评审会议(在用例设计完成之后,要求开发、测试人员、及其他项目相关人员一起对所设计的用例进行评审,评审结果在当天通过邮件的形式发出);

    c、根据评审结果修改测试用例设计,再次通过评审后完成终版本的用例设计;

  3、自动化测试?? 主要指功能测试:

    a、使用技术手段实现测试用例,使其能够进行自动化测试;

    b、完成自动化代码编写之后,即可进行功能测试;

  4、BUG?? 主要指在发现疑似BUG之后的处理方式:

    a、当测试过程中发现疑似BUG的时候,需要首先排除Case自身设计及编码问题,之后排除因为测试环境等其他因素的影响。在这里可以采用debug定位、log日志定位等问题定位方法;

    b、在确认没有上述因素的影响之后,可以与开发人员进行沟通, 与其详细描述BUG的产生原因、复现该BUG的场景,终确认是否为BUG;

    c、在相关测试平台上登记BUG。 登记BUG主要是为了1. 针对该BUG增加相应的测试用例;2. 在后续其他测试人员接收该项目之后,能够在每次版本更新测试的时候,重点关注该BUG场景;3. 体现产品质量及测试人员的工作价值;

  5、性能与压力测试?? 在完成功能测试,开发版本稳定之后,需要进行性能和压力测试:

    a、设计性能和压力测试场景,主要需要考虑一下几点:

      1)产品功能点: 如,该产品是Nginx版本的Tair缓存数据库的Restful客户端,那么增删改查是必备的测试场景;

      2)并发请求数:

      并发请求数的设定相对比较复杂:

      首先,需要保证机器性能如CPU占用率、内存使用、网络流量等机器性能指标没有成为瓶颈的前提下,查看QPS曲线在不同并发数下的变化曲线;

      其次,选择QPS曲线稳定的临界点,选择临界点两边的几组并发数作为每个测试场景内的并发请求数。

      3)预期的机器性能阈值: 在性能测试过程中所需要关注的一些性能指标:

        (1)产品的性能指标:如 QPS、用户平均等待时间、服务器平均响应时间、吞吐量等等;

        (2)机器的性能指标:如CPU占用率、内存使用、网络流量等等;

    b、工具选择:web server的性能测试工具有很多种,选择合适的性能测试工具非常重要:

      1)自己开发的压测脚本: 缺点:不够权威、反馈数据不够全面或者开发成本高;

      2)http load 或者 web bench: 个人认为功能不够强大、反馈的测试数据也不够全面;

      3)Apache ab: 经过前面几篇博文的修改介绍之后,功能强大,支持1. 按时间测试;2. 多个url、header、cookie读取测试。反馈测试数据也比较全面,如:总请求数、数据总传输量、QPS、服务器平均响应时间、用户平均等待时间、网络流量等等信息;

    c、数据统计与图表绘制: 完成性能和压力测试后,需要验证测试过程是否正确无其他因素干扰,并且及时统计数据并绘制成相应的测试图表;

    d、后是对上述数据及图表进行分析,提供解释说明;

  6、容灾及安全测试 ?? 根据不同的产品,设计不同的容灾及安全测试方案;

  7、制作测试报告 ?? 在完成以上所有测试工作之后,需要制作一份详细的测试报告,主要包括一下几点:

    a、测试环境信息描述:

      1)软件环境描述: 操作系统、软件版本等;

      2)硬件环境描述: 服务器相关硬件信息,如CPU、内存、网卡等;

      3)测试环境部署描述: 详细介绍测试环境的部署情况;

    b、测试覆盖情况:

      1)功能测试测试点及其用例覆盖情况;

      2)压力测试场景描述;

      3)性能测试场景描述;

      4)容灾测试场景描述;

    c、测试缺陷列表:

      1)BUG描述 ?? 详细说明BUG的复现场景;

      2)级别 ?? 根据危险程度分为高、中、低 三个等级;

      3)状态 ?? 根据修复情况分为 已修复、 未修复 两种;

      4)提交人及验证人信息;

    d、潜在风险分析:

      1)风险描述 ?? 详细说明该风险的触发场景;

      2)建议 ??建议应用方及开发人员如何避免该风险的出现;

    e、性能测试结果分析:

    根据上述整理的测试数据及所绘制的图表,详细分析该性能测试的整个过程及相应测试参数、性能参数的意义,并给出相应的性能建议及风险规避方案;

  8、产品发布及线上验证:

  产品发布上线后,对产品进行验收性测试;

  9、持续集成 ?? 实现持续集成测试

    a、持续集成工具:主要有:CruiseControl、Hudson、LuntBuild、TeamCity、AntHill等,我们主要使用hudson作为持续集成工具;

    b、工作步骤:

      1)测试代码入库;

      2)搭建持续集成环境;

      3)设置每日回归和触发回归条件;  并行测试思想介绍:

  服务器平台的并行测试思想如下图所示:

  简要说明:

  第一步:测试人员针对需求文档及开发设计文档进行整理分析(若没有相关文档,测试人员在对需求进行分析整理之后,制作相应的文档材料);

  第二步:在开发人员代码编写期间,测试人员根据整理分析后的文档材料,进行:

    1、测试用例设计;

    2、用例评审,评审完成后提交到svn服务器上供开发自测参考;

    3、测试用例代码实现;

    4、搭建hudson自动化回归环境;

  第三步:开发人员代码编写完成后提交到svn服务器上,自动触发hudson进行自动化回归测试,回归结束后将测试结果反馈给开发人员,开发人员根据该结果对代码进行修改,提交svn, 再次自动化回归测试,反复进行这个过程,一直到功能测试终完成,形成稳定功能版本的开发代码;

  第四步:代码功能测试完成后,由测试人员进行性能/压力测试,并将测试结果反馈给开发,开发人员根据该结果对代码进行修改(若对代码进行修改并提交svn, 则触发hudson进行自动化回归测试,并人工进行性能/压力测试,反复进行这个过程,一直到性能/压力测试结果符合要求);

  第五步:测试人员编写测试报告。

  OK,软件测试流程及并行测试介绍完毕,欢迎拍砖。



行测 测试流程 软件测试流程 并行 软件测试 测试 软件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章