Unit testing 大数据的单元测试方法
假设您正在设计一个系统,并且希望开始编写测试,以确定功能,但也确定性能和可伸缩性。在不同的环境中处理大型数据集时,您可以共享哪些技术 为了测试和测量性能,可以使用静态数据源和输入(可以是巨大的转储文件或sqlite DB) 您可以创建测试并将其包含在您的集成构建中,以使特定的函数调用花费X秒以上,并抛出错误 当你建立更多的系统时,你会看到这个数字增加,并打破你的测试 您可以花20%的时间获得80%的功能,其余80%用于性能和可扩展性:)Unit testing 大数据的单元测试方法,unit-testing,bigdata,Unit Testing,Bigdata,假设您正在设计一个系统,并且希望开始编写测试,以确定功能,但也确定性能和可伸缩性。在不同的环境中处理大型数据集时,您可以共享哪些技术 为了测试和测量性能,可以使用静态数据源和输入(可以是巨大的转储文件或sqlite DB) 您可以创建测试并将其包含在您的集成构建中,以使特定的函数调用花费X秒以上,并抛出错误 当你建立更多的系统时,你会看到这个数字增加,并打破你的测试 您可以花20%的时间获得80%的功能,其余80%用于性能和可扩展性:) 可扩展性—考虑面向服务的体系结构,这样您就可以在两者之间使
可扩展性—考虑面向服务的体系结构,这样您就可以在两者之间使用负载平衡器,并且只需向系统中添加新的硬件/服务,就可以提高状态/处理能力我强烈建议优先考虑功能测试(使用TDD作为您的开发工作流)在进行性能和可伸缩性测试之前。TDD将确保您的代码设计良好且松散耦合,这将使它在创建自动化性能和可伸缩性的过程中变得越来越容易。当代码松散耦合时,您可以控制依赖关系。当您可以控制依赖项时,您可以为要编写的任何高级测试创建任何配置 做一些功能测试。考虑很少的风险管理技术,这篇文章将对你有所帮助。 < P>分离不同类型的测试。
要获得更具体的建议,我需要了解您使用的技术。在Hadoop中,看看MRUnit。对于RDB,使用DBUnit。ApacheBigtop可以提供灵感,尽管它的目标是Hadoop上的核心项目,而不是特定的应用程序级项目 我遇到了两种情况:
@HappyPants博士,tnx代表downvote,对于你的一般问题,你会得到一般性的答案:)这是如何回答问题的?有时不需要。例如,“我如何用正则表达式解析html?”这个问题可以用“不要”来充分回答。@Kyranstar然而单元测试应该测试整个接口:性能也是接口的一部分(我可能会选择某个函数而不是另一个函数,因为它很大哦是O(n log n)而不是O(n^2),但有时另一种方法会导致速度越快的方法设置时间越长)。-如果我做出这样的承诺,我必须通过测试来证明这一承诺。