返回介绍

Testing Strategy

发布于 2024-06-23 21:36:11 字数 2857 浏览 0 评论 0 收藏 0

Overview

We’re always working on the next version of Krita. We fix bugs and implement new features. Every change to any software comes with a risk of introducing other issues. That’s where testing comes in. The tester’s job is to uncover defects as early as possible in the development process: a bug caught early enough means easier fixing, better user experience and less load on user support.

The Functional Test Suite

When testing functionality we employ multiple strategies that translate into several layers of the test suite:

  • Unit tests are our safeguard against breakage during development.

  • End to end tests check that the basic high level workflows function properly.

  • Exploratory testing experiments. Unexpected combinations, uncharted workflows.

Test Suite Layers

Unit Tests

Unit tests are the base of our test suite. They are designed to ensure that every individual unit of source code (both backend and UI components) functions as expected. They are fully automated and fast to execute. They are run by developers during development. Also part of nightly testing suite.

In-depth unit testing doc: https://docs.krita.org/en/untranslatable_pages/unit_tests_in_krita.html

End-to-end UI Tests

Formalized high level tests performed on the running application; carried out either by a computer or by a human.

End to end tests cover both the GUI and the command line interface.

Exploratory Testing

While the other layers of the test suite are composed of carefully curated scripted tests, balancing between coverage and efficiency, exploratory testing approaches testing quite differently. It’s purpose is to allow humans to apply their unique tools: learning, creativity, intuition. There are no suites, scenarios, defined steps. Just you and Krita. Explore and experiment. Try basic workflows. Try unexpected combinations. Try to break things. Then report bugs.

When Do We Test

Continuous testing as part of continuous integration

Automatic test suite is run nightly against the last nightly build.

Beta Testing

Beta testing is a type of user acceptance testing, where a subgroup of target users validates the upcoming release.

As a part of the release process, we collect features and bugs (mainly high impact bugs and those that benefit from testing in multiple different conditions) to test in a Phabricator task connected to the release. From that collection we create a survey on survey.kde.org and publicly release the beta version. Link to the survey is available on the welcome page of the beta release.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文