接口测试设计总结(
- 格式:doc
- 大小:152.50 KB
- 文档页数:24
接口测试个人工作小结一、引言接口测试作为软件测试的重要环节,对于保证系统的稳定性和功能完整性起着至关重要的作用。
本文将以个人接口测试工作为例,总结接口测试的重要性、工作内容、遇到的问题及解决方案等,以期对接口测试工作有更深入的了解和认识。
二、接口测试的重要性接口测试是保证系统各模块之间相互调用正常的关键环节。
通过对接口的测试,可以验证系统各个模块之间的数据传输、接口调用以及系统对外提供的服务功能是否正常。
接口测试的不完善往往会导致系统整体功能异常,甚至引发系统崩溃等严重后果。
三、接口测试工作内容1.接口文档分析:通过分析接口文档,了解接口的输入、输出参数以及接口调用的方式等,为后续的测试用例设计提供依据。
2.测试环境搭建:搭建符合接口测试需求的测试环境,包括数据库、服务器等。
3.测试用例设计:根据接口文档和需求规格,设计相应的测试用例,包括正常流程、异常流程和边界条件等。
4.接口测试执行:按照测试用例执行接口测试,验证接口的功能和性能是否符合预期,记录测试结果。
5.接口问题定位与解决:当接口测试出现问题时,及时定位问题原因,并与开发人员沟通解决方案。
6.接口测试报告编写:根据测试结果和问题解决情况,编写接口测试报告,对接口的功能和性能进行评估。
四、接口测试中遇到的问题及解决方案1.接口文档不完善:部分接口文档中缺少必要的参数说明或者描述不清晰,导致测试用例设计困难。
解决方案是与开发人员沟通,要求完善接口文档,并与开发人员一同进行接口评审。
2.接口依赖关系复杂:某些接口的测试需要依赖其他接口的数据,如果数据不准确或者接口调用失败,会导致测试用例执行失败。
解决方案是在接口测试前,确保相关接口的数据准确性,并及时与开发人员沟通解决依赖关系的问题。
3.接口性能不稳定:某些接口在高并发或者大数据量的情况下,性能表现不稳定,容易出现超时或者异常情况。
解决方案是通过压力测试工具对接口进行性能测试,并及时与开发人员沟通解决性能问题。
接口测试员工作总结范文随着互联网技术的快速发展,接口测试员在软件开发过程中扮演着至关重要的角色。
作为一个接口测试员,我在过去的一段时间里积累了一些宝贵的经验,并在工作中不断提升自己的技能。
在这篇文章中,我将对我的工作进行总结,并分享一些我在接口测试方面的心得体会。
首先,作为一个接口测试员,我主要负责验证软件系统之间的接口是否正常工作。
我会通过发送请求、接收响应并分析数据,来判断接口是否按照设计要求运行。
在这个过程中,我需要对接口文档进行仔细研读,并与开发人员进行密切合作,以确保我完全理解接口的功能和预期的输出。
其次,我发现在接口测试中,编写有效的测试用例非常重要。
一个好的测试用例不仅能够覆盖各种可能出现的情况,还能够提高测试效率和准确性。
因此,我会花费大量的时间和精力来思考并编写测试用例。
在编写测试用例时,我会注重测试用例的可读性和可维护性,以便在后续的测试中能够快速定位和修复问题。
此外,在接口测试过程中,及时反馈和沟通也是非常重要的。
当我发现接口存在问题时,我会立即向开发人员报告,并提供详细的测试结果和重现步骤。
通过及时反馈,我能够帮助开发人员快速定位和修复问题,从而提高产品质量和用户体验。
最后,我认为持续学习和不断改进是成为一名优秀接口测试员的关键。
互联网技术的发展速度非常快,新的接口测试工具和技术不断涌现。
因此,我会定期参加培训和学习新的知识,以保持自己的竞争力。
同时,我会总结和分享自己的经验,与团队成员进行交流和讨论,以促进团队的共同成长。
总的来说,作为一个接口测试员,我深知自己在软件开发中的重要性。
通过不断学习和改进自己的技能,我能够更好地完成接口测试工作,提高产品质量,并为用户提供更好的体验。
我将继续努力,不断追求卓越,为团队的成功做出更大的贡献。
1.什么是接口测试接口测试是测试系统组件间接口的一种测试。
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2.为什么做接口测试首先,节省测试成本,数据模型推算,底层的一个bug能够引发上层的8个左右bug,而且底层的bug很容易引起全网的宕机。
相反接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。
其次接口测试不同于传统开发的单元测试,接口测试是站在用户的角度对系统接口进行全面高效持续的检测。
最后接口测试是自动化并且持续集成的,这也是为什么接口测试能够低成本高收益的根源。
总之接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益的驱动作用下的最佳解决方案,接口测试是一个完整的体系,也包括功能测试、性能测试。
3.接口测试的适用范围接口测试一般应用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。
接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。
接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
接口测试在淘宝的应用是一个自下而上的发展过程。
接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比。
接口测试天生为高复杂性的平台带来高效的缺陷检测和质量监督能力。
平台越复杂,系统越庞大,接口测试的效果越明显。
4.在接口测试中如何应对需求的频繁变化在现在这个互联网软件时代,需求的频繁变动已经不是什么新鲜事。
客户的需求变更、市场需求的变更,项目本身的调整,以及新需求的出现等等都会导致需求的变化。
这种需求的变化常会出现在项目开发阶段,根据需求的变化开发人员会对项目进行调整,而作为在项目开发阶段就接入进行测试的接口测试人员同样也会被影响,这种影响有时是巨大的,影响着我们的工作效率,它会导致我们需要重复以前的部分测试工作,甚至会让我们以前所做的测试工作白费。
接口测试总结引言接口测试是软件测试中一项重要的测试方法,它用于验证软件系统的不同组件之间的交互是否正常。
在本文中,我们将总结接口测试的相关经验和教训,希望能为接口测试实践者提供一些建议和指导。
接口测试的重要性接口测试的目标是确保不同组件之间的数据交换和功能调用能够按照预期进行。
通过接口测试,我们可以提前发现和解决潜在的问题,确保整个系统的稳定性和可靠性。
接口测试的重要性主要体现在以下几个方面: 1. 保证系统的稳定性:接口是不同组件之间的桥梁,通过接口测试可以发现和解决可能导致系统崩溃或数据错误的问题,确保系统的稳定性。
2. 提高系统的可靠性:通过接口测试,可以验证不同组件之间的信息交流和功能调用是否正常,从而提高系统的可靠性。
3. 促进团队合作:接口测试通常需要多个团队共同参与,如开发团队、测试团队和运维团队等。
在接口测试过程中,各团队需要密切合作,共同解决问题,促进团队之间的协作和沟通。
4. 节省时间和资源:接口测试可以在系统集成之前发现和解决问题,从而避免问题在系统集成后的发生。
这样可以节省时间和资源,并缩短项目的开发周期。
接口测试的方法和工具接口测试可以通过以下几种方法进行: - 手动测试:手动测试是最基本和常用的接口测试方法。
通过手工操作,测试人员可以模拟各种交互情景,发现潜在的问题。
然而,手动测试需要消耗大量的时间和精力,并且容易出现遗漏和错误。
- 自动化测试:自动化测试是提高测试效率和准确性的重要手段。
通过使用测试工具和脚本,可以自动化执行接口测试用例,并生成测试报告。
自动化测试可以快速、准确地发现和解决问题,但需要投入一定的时间和资源进行脚本编写和维护。
- 性能测试:性能测试是用于评估系统性能和负载能力的测试方法。
通过模拟多种负载情况,可以测试系统在不同压力下的响应时间和吞吐量等指标。
性能测试可以帮助发现系统的性能瓶颈和优化的空间。
在接口测试中,我们可以使用多种工具来辅助测试工作,如: - Postman:Postman是一款常用的接口测试工具,它提供了可视化的界面和丰富的功能,可以方便地发送请求和验证响应。
接口测试的总结文档第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。
但该部分只交代了怎么做和如何做?并没有解释为什么要做?第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。
第一部分:首先,在做接口测试的过程中,经常有后端开发会问:后端接口都测试什么?怎么测的?后端接口测试一遍,前端也测试一遍,是不是重复测试了?于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。
然后,我们试着回答上面的问题:问题1.1、后端接口都测试什么?--回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:问题1.2、我们怎么做接口测试?--由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。
工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
问题2、后端接口测试一遍,前端也测试一遍,是不是重复测试了?--回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。
接下来我们针对以上三部分相同的内容再进行分析:1、基本功能测试:由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。
2、边界分析测试:在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。
关于接口测试的总结接口测试是软件测试中的一种重要测试方法,用于验证和评估应用程序接口的正确性、可靠性和安全性。
在软件开发过程中,接口测试起到了至关重要的作用。
接口测试主要关注接口之间的通信,以及接口对输入输出参数的正确性和稳定性进行验证,确保应用程序能够按照设计规范和要求进行正常的数据传递和交互。
接口测试的目标是检查接口的功能、性能、安全性和可靠性。
在测试过程中,需要对接口进行输入参数的正常和异常值测试,验证应用程序对于不同输入参数的处理是否正确。
此外,还需要对接口的性能进行评估,测试接口在负载和并发情况下的性能表现。
安全性测试是接口测试的另一个重要方面,确保接口暴露给外部系统时不会受到恶意攻击或非法访问。
最后,可靠性测试用于验证接口的稳定性和健壮性,确保接口在长时间运行和高负载情况下仍能正常工作。
在进行接口测试时,需要考虑以下几个关键点:1.确定测试范围:确定需要测试的接口以及关联的系统和子系统。
这些接口应该包括主要的业务逻辑和关键功能。
2.准备测试环境:为接口测试设置一个合适的测试环境,包括服务器、数据库和网络环境等。
确保测试环境和生产环境的一致性。
3.定义测试用例:根据接口的功能和需求,编写相应的测试用例。
测试用例应该覆盖各种情况,包括边界值、错误输入和异常情况等。
4.执行测试用例:按照测试计划和测试用例执行测试。
在测试过程中,需要记录测试步骤和测试结果,并及时修复和跟踪问题。
5.分析测试结果:根据测试结果和日志,分析接口的性能和稳定性。
对于出现的问题,需要深入分析原因,并提供解决方案和建议。
6.编制测试报告:根据测试结果和分析,编制测试报告,包括测试概述、测试结果、问题列表和建议等。
测试报告应该清晰、简洁,并提供相应的截图和日志作为证据。
接口测试的优势是明显的。
首先,接口测试可以发现系统设计上的问题和不一致性。
通过测试接口,可以发现系统组件之间的通信问题、数据不一致和接口参数的错误等。
其次,接口测试能够提高系统的可靠性和健壮性。
接⼝测试⽤例设计实践总结设计思路1) 优先级--针对所有接⼝1、暴露在外⾯的接⼝,因为通常该接⼝会给第三⽅调⽤;2、供系统内部调⽤的核⼼功能接⼝;3、供系统内部调⽤⾮核⼼功能接⼝;2) 优先级--针对单个接⼝1、正向⽤例优先测试,逆向⽤例次之(通常情况,⾮绝对);2、是否满⾜前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 >参数数据类型⾃⾝的数据范围值限制3) 设计分析通常,设计接⼝测试⽤例需要考虑以下⼏个⽅⾯:1、是否满⾜前提条件有些接⼝需要满⾜前置条件,才可成功获取数据。
常见的,需要登陆Token。
逆向⽤例:针对是否满⾜前置条件(假设为n个条件),设计0~n条⽤例2、是否携带默认值参数正向⽤例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其它不填写,设计1条⽤例;3、业务规则、功能需求这⾥根据实际情况,结合接⼝参数说明,可能需要设计n条正向⽤例和逆向⽤例5、参数是否必填逆向⽤例:针对每个必填参数,都设计1条参数值为空的逆向⽤例4、参数之间是否存在关联有些参数彼此之间存在相互制约的关系逆向⽤例:根据实际情况,可能需要设计0~n条⽤例5、参数数据类型限制逆向⽤例:针对每个参数都设计1条参数值类型不符的逆向⽤例6、参数数据类型⾃⾝的数据范围值限制正向⽤例:针对所有参数,设计1条每个参数的参数值在数据范围内为最⼤值的正向⽤例逆向⽤例:针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最⼤值的逆向⽤例针对每个参数(假设n个),设计n条每个参数的参数值都⼩于数据范围最⼩值的逆向⽤例以上⼏个⽅⾯考虑全的话,基本可以做到如下⼏个⽅⾯的覆盖:主流程测试⽤例:正常的主流程功能校验;分⽀流测试⽤例:正常的分⽀流功能校验。
异常流测试⽤例:异常容错校验4) 编写描述尽量逻辑化,这样⽅便后续的维护5) 实践操作接⼝样例获取订单列表接⼝(多条件)获取店铺指定期间的所有订单列表(多种条件组合),默认根据⽇期倒序排序。
接口测试常见方法与总结接口测试是软件测试中非常重要的一个环节,通过对接口进行测试可以有效地发现和解决软件中的问题和错误。
接口测试常见方法如下:1.静态测试:静态测试主要通过代码审查、文档检查等手段对接口相关的代码和文档进行检查,以发现潜在的问题和错误。
静态测试可以通过组织开发人员、测试人员和其他相关人员的讨论和审查来进行,提前发现和解决接口设计和实现问题。
2.功能测试:功能测试是接口测试中最基本的部分,通过输入特定的测试数据,验证系统是否返回预期的结果。
功能测试主要关注接口的输入输出和功能是否符合需求和规格要求。
功能测试可以通过手工测试、自动化测试等方式进行,通过组织各种不同的测试用例进行验证来确保接口的功能正确性。
3.性能测试:性能测试是接口测试中非常重要的一个方面,它主要关注接口的性能和稳定性。
性能测试可以通过压力测试、负载测试等方式进行,通过模拟大量的并发访问和大量的数据输入输出来验证接口的性能和稳定性。
性能测试可以通过自动化测试工具来进行,以提高测试效率。
4.安全测试:安全测试是接口测试中非常重要的一部分,它主要关注接口的安全性和防护措施。
安全测试可以通过模拟各种不同的攻击手段和方式来测试接口的安全性,包括输入验证、身份验证、数据加密等方面。
安全测试可以通过手工测试和自动化测试进行,以确保接口的安全性和可靠性。
5.兼容性测试:兼容性测试是接口测试中非常关键的一方面,它主要关注接口在不同的环境、平台和设备上的兼容性。
兼容性测试可以通过在不同的操作系统、浏览器、设备上进行测试,以验证接口在各种不同的环境下的兼容性。
兼容性测试可以通过手工测试和自动化测试进行,有效提高测试覆盖度。
6.回归测试:回归测试是接口测试中非常重要的一环,它主要关注对接口的修改和更新后的验证。
回归测试可以通过运行之前编写的测试用例来验证接口的修改和更新是否影响了接口的原有功能和性能。
回归测试可以通过自动化测试来进行,以提高测试效率和准确性。
实习接口测试心得体会首先,接口测试需要充分了解接口的设计和功能。
在进行接口测试之前,我们需要对系统的接口进行深入的了解,包括接口的设计、功能、参数、格式等等。
只有了解了接口的设计和功能,我们才能更好地进行测试,找出接口可能存在的问题和风险。
因此,在实习期间,我花了大量的时间来深入学习接口的设计和功能,通过与开发人员和系统设计人员的沟通交流,我对接口有了更深刻的理解,这对于我的接口测试工作起到了很大的帮助。
其次,接口测试需要编写详细的测试用例。
在进行接口测试时,测试用例是非常重要的,它可以帮助我们系统地进行测试,保证测试的全面和深入。
在实习的过程中,我学会了如何编写详细的测试用例,包括测试的输入和输出数据、测试的步骤和预期结果等等。
通过编写详细的测试用例,我可以更好地指导我的测试工作,提高测试的效率和质量。
同时,接口测试需要方法和工具的支持。
在实习期间,我学习了很多接口测试的方法和工具,比如接口测试的常用技术和工具、接口测试的最佳实践和经验等等。
这些方法和工具可以帮助我更好地进行接口测试,提高测试的效率和覆盖面。
因此,在进行接口测试之前,我需要充分了解并熟练掌握这些方法和工具,以便更好地进行测试工作。
另外,接口测试需要充分的沟通和合作。
在进行接口测试的过程中,我们需要与开发人员、系统设计人员和其他测试人员进行密切的沟通和合作,共同解决接口可能存在的问题和风险。
在实习期间,我学会了如何与团队成员进行有效的沟通和合作,这大大提高了我的测试工作的效率和质量。
最后,接口测试需要不断的学习和提高。
在实习期间,我不断地学习接口测试的最新技术和方法,不断地提高自己的测试能力和水平。
通过不断地学习和提高,我可以更好地适应接口测试的需求和挑战,提高我的测试能力和质量。
因此,我认为接口测试是一个需要不断学习和提高的过程,只有不断地学习和提高,我才能更好地适应接口测试的需求和挑战。
总的来说,通过实习接口测试的过程,我深刻体会到了接口测试的重要性和复杂性,学会了如何进行接口测试、如何编写测试用例、如何使用方法和工具、如何进行沟通和合作,以及如何不断学习和提高。
接口测试常见方法与总结一、常见接口:接口都有那些部分组成呢?首先,接口文档应该包含以下内容:1、接口说明2、调用url3、命令方法(get\\post)4、请求参数、参数类型、请求参数说明5、返回参数说明由USB文档所述,USB至少理应命令地址、命令方法、命令参数(进参和出来弁)共同组成,部分USB存有命令头header。
大家都知道,接口其实就是前端页面或app等调用与后端做交互用的,所以好多人都会问,我功能测试都测好了,为什么还要测接口呢?ok,在回答这个问题之前,先举个栗子:比如说测试用户注册功能,规定用户名叫6~18个字符,涵盖字母(区分大小写)、数字、下划线。
首先功能测试时确实可以对用户名规则展开测试时,比如说输出20个字符、输出特殊字符等,但这些可能将只是在前端搞了校验,后端的可能将没搞校验,如果有人通过抓包绕开前端校验轻易发送到后端的怎么办呢?换言之一下,如果用户名和密码未在后端搞校验,而有人又绕过前端校验的话,那用户名和密码不就可以随便输了吗?如果是登录可能会通过sql注入等手段来随意登录,甚至可以获取管理员权限,那这样不是很恐怖?所以,接口测试的必要性就体现出来了:①、可以发现很多在页面上操作发现不了的bug②、检查系统的异常处理能力③、检查系统的安全性、稳定性④、前端随便变小,USB测好了,后端的不必变小四、USB测试怎么测:在进行接口测试前,还需要了解:1)、get和post请求:如果就是get命令的话,轻易在浏览器里输出就行了,只要在浏览器里面轻易能够命令至的,都就是get命令,如果就是post的命令的话,就没用了,就得利用工具去传送。
get命令和post命令的区别:1、get使用url或cookie传参。
而post将数据放在body中。
2、get的url会有长度上的限制,则post的数据则可以非常大。
3、post比get安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
接口测试设计总结(入门级)产品名称Product name 密级Confidentialitylevel内部公开产品版本Productversion Total 24pages 共24页接口协议测试总结(仅供内部使用)For internal use only拟制:Preparedby 王健立日期:Date2006-12-17审核: Reviewed日期:by Date 批准:Grantedby日期:Date华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订记录Revision record日期Date修订版本Revisionversion修改描述change Description作者Author2006- 1.00 初稿完成刘明伟目录Table of Contents1测试点 (7)1.1在测试过程中,最烦琐的,也是最容易测出问题的莫过于字符校验。
(7)1.2边界值也是一个很重要的测试点。
(8)1.3此外,还要注意关注一下字符长度的问题101.4空值也是一个检查点 (11)1.5对某些逻辑关系进行校验。
(12)1.6当中间件对接其他外部系统时,如果对本接口有影响,也要进行测试。
(13)1.7当然,最重要的功能测试也不能忘记。
141.8还要注意一下外系统和本系统的一致性检查 (15)1.9对于某些定义后就不允许修改的参数进行校验。
(17)1.10可以进行一些并发操作。
(17)1.11对于一些异常情况,也可以适当作些测试。
(18)1.12如不是用测试桩来模拟外系统,而是真正的对接外系统,那么对于数据之间的逻辑关系还要重点关注。
(19)2一些小技巧 (20)2.1测试前先从整体上安排好各个模块的测试顺序,和测试策略。
(20)2.2在局部模块测试之前首先想好一个测试策略,尽量加快测试速度。
(21)2.3可以根据接口文档中对于返回码的描述,在接口测试中重现该返回码。
(21)2.4可以在创建时,把所有选项都取边界值或特殊字符,然后,全流程的跑一遍,看是否会引起一些其他的问题。
(22)2.5可以在测试过程中,浏览一下本轮所提的问题单和以前版本所提的问题单,看是否有类似的问题在自己负责的模块也存在。
(22)2.6可以联系以前自己所测试的相似产品中,曾经发现的具有普遍意义的错误,是否在当前产品中也能重现。
(22)3一些注意点 (22)3.1在边界值测试中,一般选取非法边界值、边界值和一些典型值进行测试。
(22)3.2如果在选项中需要输入时间,那么,对于时间的测试一定要注意以下几点: (23)3.3对于一些不允许输入的特殊字符,如果有可能的话,要尽可能都一一测试。
(23)3.4要特别注意返回码是否都能在接口文档找到。
(23)接口测试总结1测试点1.1在测试过程中,最烦琐的,也是最容易测出问题的莫过于字符校验。
在这部分主要关注点为:(1).对于特殊字符的校验是否和接口文档描述的一致;(2).对于字符长度的校验是否和接口文档描述一致;(3).关注各个模块中相似/相关联选项的特殊字符的字符集是否相同(比如创建查询模块中的id的字符集是否相同);(4).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(5).对于各个选项的特殊字符校验顺序/策略是否合理;(6). 进行大小写字符敏感的校验;(7). 进行中英文校验;(8).进行字符类型校验,比如在int型编辑框中输入char型数据。
1.2边界值也是一个很重要的测试点。
在这部分主要关注点为:(1).最好把所有选项都选成边界值,看后续操作中是否会导致一些相关的问题;(2).分别选取非法边界值、边界值和典型值进行测试;(3).对于时间的边界测试要格外注意,关于时间的边界值测试,在3.2中有较详细的介绍;(4).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(5).对于各个选项的边界值的校验顺序/策略是否合理;(6).对消息的边界值进行校验(整个消息大小的边界值是属于隐含的需求,容易漏掉,往往在与外部件共同使用时才会发现问题)。
注:某些注意点在第二和第三部分中也有提及1.3此外,还要注意关注一下字符长度的问题在这部分主要关注点为:(1).最好把所有选项都选成最长的字符,看后续操作中是否会导致一些相关的问题;(2).分别选取超长字符、最长字符和最少字符进行测试(空值1.4有介绍);(3).注意对超长字符的提示信息是否准确合理,系统中对于超长字符的提示信息的风格是否一致;(4).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(5).对于各个选项的超长字符的校验顺序/策略是否合理。
注:某些注意点在第二和第三部分中也有提及1.4空值也是一个检查点在这部分主要关注点为:(1).对于必选项为空是否有校验;(2).对于非必选项为空是否有校验;(3).对于字符前后的空格是否有trim()功能;(4).对于字符中间的空格是否有校验;(5).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(6).对于各个选项的校验顺序/策略是否合理;(7).此外,如果用测试桩来模拟外部接口,可以对用来表示空值,的数值(比如“-1”等)进行测试,看看数据库相应的表中存储的是不是正确。
1.5对某些逻辑关系进行校验。
一般说来,中间件对于接口传来的参数不做逻辑校验,逻辑校验主要由外系统负责。
所以,当我们用测试桩来模拟外部系统测试时,不必关注逻辑关系。
不过对于要对数据库进行操作(比如修改等)的模块,还是要进行数据的存在校验。
比如删除/修改用户就要校验该用户是否存在。
在这部分主要关注点为:(1).对于不存在数据的是否有校验;(2).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(3).对于相互之间有约束关系的数据的约束关系进行校验;(4).对于非主键的所有数据重复性进行校验;(5).对于主键不可重复性进行校验;(6). 返回信息是否清晰明了。
1.6当中间件对接其他外部系统时,如果对本接口有影响,也要进行测试。
比如开户就要分为对接ca和不对接ca两种情况进行测试。
在这部分主要关注点为:(1).对于对接其他外系统时可能被影响到的所有相关的流程都要进行测试,关注其和不对接其他外系统时的区别,比如不对接dslam时,某些dslam相关的选项为不可输入项/非必选项,而对接dslam时,为必选项;(2).关注对接/不对接其他系统时返回码的区别;(3).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(4).对于各个选项的校验顺序是否合理。
1.7当然,最重要的功能测试也不能忘记。
在这部分主要关注点为:(1).该功能是否能够正确实现;(2).数据库和日志记录是否合理;(3).日志中参数传递是否和接口文档一致;(4).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(5).对消息的重复发送进行校验;(6).数据维护成功,观察相关系统是否同步刷新。
1.8还要注意一下外系统和本系统的一致性检查由于这部分要根据系统实际情况来测试,所以,在此就不写出太过具体的关注点了。
在这部分主要关注点为:(1).对于同一个选项外系统和本系统对其校验策略是否一致;(2).外系统的页面中必选项和非必选项的设置是否和本系统一致;(3).外系统和本系统对于特殊字符的校验是否一致;(4).外系统和本系统对于边界值的校验是否一致;(5).外系统某些限制是否和本系统一致;(6).外系统定义的用户是否可以在本系统上正常使用(可以用边界值定义的用户来测试)等;(7).根据具体情况设置具体的检查项。
注:这里所说的一致性,并非要求本系统必须和外部系统完全一致,要根据具体情况具体分析。
(比如,cms上元数据录入时的限制就可以大于mw)1.9对于某些定义后就不允许修改的参数进行校验。
在这部分主要关注点为:(1).观察该字段在页面上是否可以修改;(2).观察数据库中该属性的值是否改变;(3).从日志中观察,外系统是否传送该参数;(4).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了。
1.10可以进行一些并发操作。
比如,sms正在使用某个用户登录后,准备进行某个操作,boss对其进行删除操作,然后sms再用该用户进行操作,看是否会有什么不良影响。
由于这部分要根据系统实际情况来测试,所以,在此就不具体写出关注点了。
1.11对于一些异常情况,也可以适当作些测试。
在这部分主要关注点为:(1).数据库中该属性的值是否改变(相关表项是否回滚);(2).从日志中观察,外系统是否传送该参数;(3).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(4).异常可以分为:数据库异常、网络异常等;注:虽然,异常情况出现的几率比较小,但是恰恰这些出现问题几率比较小的地方一旦出现了问题往往都是比较严重的;所以,测试时还是要给予足够的重视。
1.12如不是用测试桩来模拟外系统,而是真正的对接外系统,那么对于数据之间的逻辑关系还要重点关注。
在这部分主要关注点为:(1).页面是否对数据的是否存在进行校验;(2).页面是否对一些存在逻辑关系的选项进行逻辑校验;(3).操作失败后,相应的数据表项是否有回滚功能;(4).相应的操作后,数据库的纪录是否正确;(5).对于“null”、“NULL”、“-2”等代表空值或无修改的字符,检验其是否可以正确转义(根据不同的接口协议,可能代表空值的字符不尽相同,根据具体情况具体分析)。
(6).日志中参数传递是否和接口文档一致,是否有参数漏传现象;(7).每次操作的返回码是否和接口文档描述一致,返回信息是否清晰明了;(8).对消息的重复发送进行校验(比如对暂停的用户再进行暂停);(9).还可以在外系统上进行一些并发测试;2一些小技巧2.1测试前先从整体上安排好各个模块的测试顺序,和测试策略。
比如,先测试增加用户,然后,用增加的用户进行恢复用户和挂起用户的操作,等到该用户不再需要时,进行删除用户的操作。
这样安排,可以节省很多时间和工夫。
2.2在局部模块测试之前首先想好一个测试策略,尽量加快测试速度。
比如在对于一个页面的校验中,该页面包含很多编辑框,可以在其中全部输入非法的边界值,保证在不需要提交的状态下把所有的非法的值测试完毕,然后再输入合法的边界值,进行功能测试。
这样测试起来就不必要一个一个的进行,很大程度上提高了速度,而且这样,我们也可以测试出不同编辑框间的校验顺序。
2.3可以根据接口文档中对于返回码的描述,在接口测试中重现该返回码。
然后再对比该情况下的返回码是否和接口文档中所说的一致。
2.4可以在创建时,把所有选项都取边界值或特殊字符,然后,全流程的跑一遍,看是否会引起一些其他的问题。