C++ 如何测试用户';s代码?

C++ 如何测试用户';s代码?,c++,c,testing,C++,C,Testing,我的问题是非常基本的,但我只是想知道在监狱里发生的确切情况以及如何发生的。比方说,我有一个问题要问代码。用户提交的代码在任何语言(我想去C或C++这里具体),现在的代码测试在各种测试文件在服务器端。这是怎么发生的?正如我所想和搜索的,服务器端必须有一个代码,它必须以文件的形式接受来自客户端的解决方案(用户代码),然后在各种测试文件上运行该文件(根据问题描述中指定的输入和输出,该文件将具有所有测试用例)并匹配输出。它是?我想我弄错了什么 如果我有一个非常简单的程序来添加两个数字,现在我想测试用户的

我的问题是非常基本的,但我只是想知道在监狱里发生的确切情况以及如何发生的。比方说,我有一个问题要问代码。用户提交的代码在任何语言(我想去C或C++这里具体),现在的代码测试在各种测试文件在服务器端。这是怎么发生的?正如我所想和搜索的,服务器端必须有一个代码,它必须以文件的形式接受来自客户端的解决方案(用户代码),然后在各种测试文件上运行该文件(根据问题描述中指定的输入和输出,该文件将具有所有测试用例)并匹配输出。它是?我想我弄错了什么

如果我有一个非常简单的程序来添加两个数字,现在我想测试用户的代码,我到底要做什么?我是从实现的角度提出要求的,也就是说,我希望在我的机器上实际执行并测试相同的操作。有人能告诉我基本的我应该做什么吗?(和在线评委做的差不多)


PS:我并不是为了举办任何比赛等而提出这个要求,只是出于学习的好奇心。

我将把这个分为两个子目标

  • 学习自动化测试
  • 设置一些应用程序,允许用户提交测试用例、运行自动化测试和报告反馈
  • 通过使用您最喜欢的编程语言为某些程序设置自动测试,您可以开始获得更深入的见解

    使用搜索引擎查找“自动化C++测试”。 如果您已经在本地机器上成功地设置了一些自动测试,那么您就可以实现第二个目标


    例如,您可以设置Jenkins实例并学习如何向其添加自动测试

    跟你说的差不多。一些脚本将输入输入程序,运行它,分析输出。不复杂。不管怎样,详细地告诉你它们是如何工作的,就好像是为你做的,这太宽泛了。此外,您还没有说明任何具体要求。请您帮助我分步了解我需要输入的内容,假设我刚刚获得了用户代码,现在我需要如何处理代码。只需按顺序告诉我们需要做什么,将非常有帮助。请让我知道你想要什么,我会添加它们。对不起,这是一个问答库,不是一个指导计划。你有没有考虑过让朋友或同事陪你坐上几个小时,带你看看这些选项?测试一下它在一般情况下是否有效。测试它是否在预期条件的极限下工作。测试当处于边缘条件之外时,if是否正常失败。然后尝试用完全荒谬的条件打破它。如果是你自己的程序,不要等到程序完成了:你应该考虑它是如何工作的,它是如何一步一步地失败的。是的,我的主要问题是,我可以通过编写PHP代码来接受用户的代码,我想在C++中这样做。我该怎么做?之后,我只需要制作一个用户代码文件,生成输出文件,并与服务器上的正确的O/P文件匹配,并显示结果。可能是在上述答案中回答了这个问题,但我仍然想确认:我主要关心的是,我可以通过编写PHP代码来接受用户的代码,我想在C++中这样做。我该怎么做?之后,我只需要创建一个用户代码文件,生成输出文件,并与相同的正确o/p文件(在服务器上)匹配,然后显示结果。一般来说,您不会分析提交的代码,但您会观察它为测试套件提供的输入提供了什么输出。如果它产生预期的输出,它将通过测试。如果提交的代码是C++,通常是编译的,那么测试套件必须包含测试执行PASE旁边的构建阶段。这是你必须为本地自动化测试套件做的事情。BTW在PHP中实现测试套件是没有问题的,它测试C++代码,但是你至少应该调用一个可用的C++编译器,而不是在PHP中编写一个需要花费大量时间的编译器。请先在自动化测试上投入一些时间,有很多足够好的工具。哦,谢谢。我会经历的。