《大数据软件测试技术的类型及挑战,软件工程论文.docx》由会员分享,可在线阅读,更多相关《大数据软件测试技术的类型及挑战,软件工程论文.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大数据软件测试技术的类型及挑战,软件工程论文内容摘要:随着大数据技术的发展、大数据系统不断出现,用户对系统质量的期望,大数据测试技术也将不断完善。该文把大数据测试和传统软件测试进行比照,具体阐述了大数据功能测试的步骤,简单介绍了几种大数据非功能测试类型以及大数据测试面临的挑战。 本文关键词语:大数据; 软件测试; 步骤; 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理形式才能具有更强的决策力、洞察发现力和流程优化力的海量信息,在运行方面具有数据流庞大、数据种类繁多、数据价值量密度较低以及数据运行和处理的速度极快等基础特征。1当下,我们国家大数据的应用领
2、域已经从、金融延伸到医疗、生物、电商、安防等各行各业。随着云计算技术与应用、物联网、大数据等技术的不断发展,应用于各个领域的大数据系统也不断构成。这种大数据系统的系统构造复杂,数据类型愈加丰富,更有TB级别的海量数据量,要使系统平稳运行,比起传统软件更是需要软件测试技术作为支撑。随着大数据技术的发展也逐步构成具有独特特征的大数据测试技术。 1 大数据测试与传统测试的比拟 传统软件测试是在系统已经知道的前提下对从用户需求提取到的测试任务进行的测试,用户的行为直接影响系统的最终执行结果。传统软件测试最主要的两种测试类型为功能测试和性能测试,都是简单的从用户界面入手,比方12306中注册、登录、下订
3、单、支付等,可直接使用黑盒测试方式方法即可。传统软件测试技术已经比拟成熟,也构成了各种配套的自动化测试工具。 软件测试类型很多,包括功能测试、性能测试、安装与卸载测试、兼容性测试、强健性测试、文档测试、回归测试等等。大数据测试和传统软件测试相比,主要测试类型都是功能测试和性能测试,但在测试目的和测试流程存在一定差异,主要表如今大数据测试更多的是去验证其数据处理而不是验证单一的功能。 大数据测试与传统测试的区别如表1所示。 2 大数据功能测试步骤 整体而言,大数据功能测试能够分为下面四个步骤: 2.1 数据预处理验证 大数据测试的第一步,也称作pre-hadoop阶段。本阶段主要验证: 表1 大
4、数据测试与传统测试的区别 1来自关系数据库、日志系统、社交网络、互联网文本和文件等各种数据资源应该要被验证,确保是正确的资源被加载进系统4; 2数据加载后还要验证推送到hadoop系统中的数据和源数据是一致的4; 3验证正确的数据被提取并被加载到HDFSHadoop Distributed File System正确的数据节点中。 2.2 MapReduce 验证 经过数据预处理验证、数据成功加载到HDFS后,MapReduce开场对数据进行并行处理。由Google公司最早提出的MapReduce是一种面向大规模数据处理的并行技术模型,也是当下公认的最易于使用的大数据并行处理技术。大数据测试工
5、程师根据业务需求,在每个节点上进行业务逻辑验证,确保如下操作的正确性: 1MapReduce并行处理正常运行,得到想要的文件; 2在数据上施行数据聚合或隔离规则6; 3数据key-value关系已正确生成; 4验证经过map reduce后数据的准确性; 5根据大数据业务需求,验证输出数据文件格式的规范性。 2.3 数据仓库验证 根据业务逻辑要求进行处理后的数据最终将按用户需求导入到数据仓库。在这个阶段需要验证数据转换规则能否正确应用,仓库中的数据能否有损坏、数据完好性约束使用能否正确等。 2.4 分析报表验证 数据处理完成导入到相应的数据仓库后,可使用工具自带的报表工具得到分析报告,该阶段要
6、验证自动得到的分析报告能否知足用户、业务需求。 3 大数据主要非功能测试类型 在系统功能正常使用的基础上,用户对系统的非功能特性要求也越来越高。大数据功能测试是所有其他测试的基础,除此之外还需要行多项非功能测试,这主要包括下面几种: 3.1 性能测试 网页阅读速度慢、文件下载速度慢、双11没有办法支付、春运期间抢不到回家的车票等等,其实都是属于系统性能问题。对一个大数据系统来讲,所需监控的性能指标包括吞吐量、响应时间、服务器资源利用率等。性能测试和功能测试理论上是能够同时进行的,但一般都是在软件公司完成功能测试后再把系统部署到真实环境中进行性能测试。由于系统的性能影响因素很多,除了系统代码外,
7、还跟硬件、网络、部署方式有关。大数据系统性能测试执行经过一般是: 1根据业务需求设计性能测试场景; 2初始化大数据集群环境; 3准备性能测试脚本; 4执行并分析测试结果,假如指标不达标,需要分析性能瓶颈、调整参数并重新测试; 5提交性能测试分析报告。 3.2 可用性测试 ISO/IEC 9126-1将可用性定义为 在特定使用情景下,软件产品能够被用户理解、学习、使用、能够吸引用户的能力 .大数据系统的可用性测试是检验系统能否到达用户要求的可用性标准,一般可通过招募代表性用户用手动测试完成。可用性测试通过观察有代表性的用户完成产品的典型任务,进而界定出可用性问题并加以解决的经过。可用性测试可发现
8、用户体验上的问题;可检验期望的设计目的能否实验、能否知足用户期望;可了解用户的使用习惯、了解用户的认知;可对产品进行评估。大数据系统可用性测试执行经过一般是: 1确定测试任务; 2招募典型、有代表性的用户; 3测试前准备; 4施行测试; 5测试分析和测试报告。 3.3 稳定性测试 大数据系统通常是部署在服务器上、长时间不间断运行,系统的稳定性尤为重要。测试人员不可能长时间不休息、一直守在电脑前观察系统运行情况。和传统软件测试类似,大数据系统的稳定性测试也是验证系统在长时间运行下能否出错,一般借助于自动化测试工具完成。 4 大数据测试面临的挑战 与传统软件测试相比,大数据的多样性给从事大数据测试
9、的软件测试工程师带来了新的挑战,可能面临下面几个挑战。 4.1 自动化 当下传统的软件测试功能测试还是手动测试居多,在高回归的情况下才会借助selenium、UFT等工具实现自动化。因大数据系统的数据量宏大、速度快、数据类型多、数据价值低等特点,借助测试工具实现自动化是从事大数据测试必备的技术,但当下市场上的自动化测试工具并不具备处理异常的能力,意味着现有测试工具可能并不完全适用,这就要求测试工程师需要自个编写适宜的测试工具,编码能力将是大数据测试工程师的必备技能。 4.2 虚拟化 当下业内大规模使用虚拟化技术,但虚拟机的延迟有可能造成大数据实时测试处理的异常。 4.3 海量数据集 大数据系统
10、需要验证的数据量往往是TB级别的,并且要求处理的速度更快,对这类系统进行测试需要有效的自动化测试手段。 5 结束语 大数据分析已经毫无争议地成为信息技术发展趋势和热门,广泛被工业界和学术界热推5.当前针对大数据测试的研究同其设计开发的研究相比相对薄弱。但随着大数据工程和数据分析逐步进入新的阶段,大数据测试将成为必然,也必定成为将来的一个热门的职业方向。本项目对大数据测试的相关理论、常用测试方式方法进行研究,后续将给出大数据技术与应用专业(软件测试基础课程标准,为大数据测试人才培养做好准备。 以下为参考文献 1秦怡。大数据背景下软件测试技术面临的挑战与发展方向J.电子技术与软件工程,20229:46-47. 2张丹。大数据背景下的测试技术教学改革探寻求索J.黑龙江科学,20228:20-21. 3岑柏滋,刘丽琳。基于大数据的软件测试分析J.智库时代,20227:231,233. 4 大数据测试方式方法EB/OL 5代亮,陈婷,许宏科,等。大数据测试技术研究J.计算机应用研究,20204:1606-1611. 6 大数据测试类型 大数据测试步骤EB/OL