我的组织目前正在实施 Scrum。在处理产品积压项目以更改某些业务逻辑的处理方式时,我们意识到某些业务逻辑存在缺陷。PBI 及其验收标准目前面向修改现有业务逻辑的实现。PO 认为对业务逻辑本身的这种改变是一个高度优先的事项,应该以某种方式融入到冲刺中,开发团队也同意这一点,特别是从开发的角度来看,同时做这两件事是很有意义的。
然而,我们不确定修改验收标准或创建新的 PBI 并立即将其纳入冲刺是否更有意义。我个人倾向于新的 PBI,因为我觉得这是一个独立的故事和一套与原始 PBI 不同的验收标准,而且我对在冲刺中期改变验收标准持怀疑态度。PO指出,这项新要求和原PBI将同时实施,如果不满足新要求,原PBI就没有意义。因此,PO 认为调整原始 PBI 的验收标准会更合适,而不是创建两个最终反映相同实施的单独标准。
这些方法中的一种是否比另一种更适合 Scrum?
我正在使用 Cucumber 编写验收测试,并且我想使用 H2 数据库进行测试。
application-test.properties 如下所示:
server.port:8090
spring.jpa.database=H2
spring.database.driverClassName=org.h2.Driver
spring.datasource.url:jdbc:h2:mem:database_user;DB_CLOSE_ON_EXIT=FALSE
flyway.locations=classpath:resources/db/migration
flyway.enabled=true
spring.datasource.username:SA
spring.datasource.password:
spring.h2.console.enabled=true
spring.jpa.show-sql=true
security.basic.enabled:false
spring.application.name=userService
Run Code Online (Sandbox Code Playgroud)
在目录 resources/db/migration 中,我有一个包含以下脚本的 sql 文件:
create table user_image(
id int unsigned not null AUTO_INCREMENT,
url varchar(1000) not null,
s3_key varchar(200) not null,
PRIMARY KEY (id)
);
create table user (
id int unsigned not null AUTO_INCREMENT,
email varchar(50) not null,
password varchar(100) not null,
first_name varchar(50) not null,
last_name varchar(50) not null,
description varchar(50),
phone_number varchar(50),
user_image_id int unsigned,
need_refresh_pass boolean …Run Code Online (Sandbox Code Playgroud) 我正在使用 Codeception 构建 API 验收测试。
我熟悉那里的单元测试,并且在运行类的所有测试之前,我在这些类中使用了 setUp 方法来实现所需的所有逻辑。
但是我没有找到类似的验收测试。
请注意,我使用的是“类”方法,而不是过程方法。
所以我有一个这样的课程...
class ResourceCest {
public function _beforeSuite(ApiTester $I)
{
// Ideally this would work, but it doesn't.
}
public function _before(ApiTester $I)
{
$I->am('Api Tester');
}
public function somethingThatIWantToExecute(ApiTester $I)
{
$I->sendGet('something');
// etc
}
}
Run Code Online (Sandbox Code Playgroud)
我可以创建像 setUp 这样的方法,但随后 Codeception 将其作为测试执行,从而在运行测试时输出一些内容。
我们将从旧服务器迁移到新服务器,现在问题出现了:我们是否应该保留 3 台服务器:
或者我们应该将第一个集中在一起,只获得两台服务器。我们部署的软件不是很复杂,它是小型独立程序,可以按计划的时间间隔移动和处理各种数据文件。
在我在这里工作的一年多里,我从未遇到过真正需要单独的测试和验收环境的情况。通常,在对验收环境进行最终测试之前,程序已经经过单元测试和集成测试(在单独的构建服务器上)。
然而,在我以前的工作地点,我确实记得缺少额外的服务器。我们将在发布之前进行最终测试,但这意味着我们无法测试或展示具有新功能的分支。在我目前的工作地点,这种情况不太可能发生,因为我们的团队非常小:1 名开发人员和 2 名测试人员。
那么什么情况下需要多于一台服务器进行测试和验收呢?我在想:
我在这个列表中遗漏了一些东西吗?
acceptance-testing production-environment acceptance test-environments
acceptance ×4
agile ×1
api ×1
codeception ×1
criteria ×1
flyway ×1
h2 ×1
scrum ×1
spring-boot ×1
sprint ×1
testing ×1