0

我在空闲时间使用 Qt 开发了一个应用程序。随着代码大小的增加,我发现很难为旧代码包含新错误。我一直在手动测试我的应用程序。由于目标是一个 exe,我无法在不向我的应用程序中注入一些额外代码的情况下使用 C++ 测试对其进行自动化测试。

所以我的问题是,如果你是一个单一的开发人员并且不会从项目中赚钱,因为它是免费发布的,那么对于 GUI 应用程序来说,最好的 QA 技术是什么?谢谢你。

编辑: 我想要一组简单的测试,每个测试都针对我的软件的特定功能。我希望它们一个接一个地自动运行。最后,他们应该创建一个测试失败的报告。这可以通过在相同的类中创建新函数 + 在我想要测试的现有函数中添加一些检查然后创建一个包含所有测试的新类来完成。所以我想知道这是最好的方法还是有更好的选择?因为每次我将构建发布目标时,我都会评论/删除此 QA 代码,这可能会为该构建创建一些错误。

目前我并不担心文档和评论,因为我从一开始就坚持这一点。它仅与源代码质量检查有关。

4

4 回答 4

0

如果您的项目变得足够大,您可能想要为它创建一些单元测试(我喜欢免费CppUnit库,它类似于JUnit;还有 Jo Are By 建议QtTest的,大概与 一起可用Qt)。

即使您必须对生产代码进行一些更改,最终也值得您花时间。

您可能还希望研究Qt应用程序的自动化 GUI 测试框架;我对这些都不熟悉。

于 2013-08-31T11:48:23.670 回答
0

测试代码转到它自己的源文件。

您可以将您的 exe 拆分为库和一个 main.cpp,它只是调用您的库。

这样,您可以使用任何带有额外测试文件的 unitTest 框架来生成仅测试您的库的可执行文件。

于 2013-08-31T13:41:09.890 回答
0

对于代码测试,您将使用 Junit 测试用例您可以将您的 exe 拆分为库和一个 main.cpp,它只是调用您的库。

对于 GUI 测试,您必须手动进行,因为没有可用于测试任何应用程序的 GUI 界面的工具。在手动测试中,GUI 检查完成并且 GUI 图像或文本显示不清晰或文本丢失并非全部,这将不会被自动化测试。

于 2013-09-01T05:41:01.373 回答
0

书本上的单元测试只会为您的方法提供保证,而不是为整个应用程序提供保证。但是您也可以使用相同的单元测试框架来为应用程序的特定功能编写验收测试。

最简单的方法是从应用程序中提取 GUI,并使 GUI 依赖于 API/库。该 API 将使编写功能测试变得容易。确保使 GUI 尽可能薄。

我不会将测试代码添加到您的课程中并将其删除以发布,我认为这与随测试代码一起发布一样有风险。你最好按照这里已经建议的那样分开来源。

于 2013-09-01T09:35:53.830 回答