我们需要提升测试的稳定性,准确性以及执行速度:
在调试失败/错误的时候第一时间应该做的就是 确定 QA Image 和测试对象的版本,下面分为两种情况下介绍一下 Image 的版本规则。
JH Image
和 QA Image
在命名和 tag 上会有细微差别,例如: 极狐镜像为: gitlab-jh:15.6.1
, 而 QA 镜像是 gitlab-jh-qa:15.6.1-jh
。commit sha
来作为 JH Image
和 QA Image
的 tag 名。JH Image
和 QA Image
的开发版本的 tag 没有区别。我们第一时间应该确定的是 JH Image
和 QA Image
的版本要一致,例如: 极狐镜像为: gitlab-jh:15.6.1
对应 QA 镜像是 gitlab-jh-qa:15.6.1-jh
, 我们使用对应的版本来保证了测试代码的可追溯性以及测试代码和测试功能的一一对应。
docker pull
。docker run -it --entrypoint /bin/sh dev-ops.gitlab.cn:5050/gitlab/omnibus-gitlab/gitlab-jh-qa:<correct_version>
镜像内容的目录结构如下:
├── INSTALLATION_TYPE
├── VERSION
├── config
├── ee
├── lib
├── qa # upstream code
├── jh
│ ├── qa # JH code
│ ├── lib
请确保测试代码的正确性。
请参照 在本地运行测试 来先在本地调试,其中有几个细节:
flaky
测试, flaky
的测试本来就是不稳定和容易失败的,在调试的时候我们应该尽力排除干扰项, 使用 --tag ~flaky
可以排除该类型测试。fulfillment
测试,目前我们还无法在本地环境来测试购买相关内容。WEBDRIVER_HEADLESS=false bundle exec bin/qa Test::Instance::All http://localhost:3000 <failed cases>
QA_LOG_LEVEL
设置为 true, 将会提供更多信息方便调试。请按照 best practice中的方法来对失败测试进行修复。