Testing in the Agile World (Final Part - 4)

本文探讨了敏捷开发环境下测试的新要求和挑战。强调了测试人员需要具备全局视角,与客户紧密沟通,并能够灵活应对需求变更。此外,还介绍了敏捷测试中的一些关键技能,包括增量测试、熟悉开发工具和技术、有限规格下的高效沟通等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Continuing from the previous post

Testing in the agile world, needs to adapt to change. The concurrency and shorter cycles introduced by agile development require not just testers but even their tools and processes to be adaptive too. Testers need to have a big-picture view and keep the customer's perspective in mind at all times. The tester mindset has to move from being considered as “custodians” or even “gatekeepers” of quality to being a participant in a larger group involved in defining and maintaining quality. Agile values the concept of a ”whole team” with everyone on the team being responsible for quality. Here, developers and testers are not pitted against each other unlike some of the other models; on the contrary these functions work together as partners to deliver quality artifacts.
The way in which tests get developed would need to change: from developing tests in isolation and based on documents such as requirements specifications, design, etc. to developing tests along-side code development, asking relevant questions, gaining quick understanding, refining tests on the go – also being able to quickly automate tests, test partial implementations as opposed to waiting for a completed artefact or feature - all are skills that are very much needed in the agile world. Testers do not necessarily get involved only when a feature is complete. Being able to pick up and test unfinished and in-process pieces while providing quick and useful feedback is important.

Testers should regularly communicate closely with customers or their representatives to both appraise them on the status of testing as well as obtain valuable feedback into the test activity.

Traditional models sometimes had formal QA teams that recommended processes and practices in a preventive way while the QC or testing group tested the finished product. In the agile world, teams are generally not keen on following much laid down processes although they do emphasize significantly on testing and its importance in product development.

In addition to the above, here are some more pointers for testers to add greater value in an agile world.
  • Performing incremental tests on work products as they are being produced. This does not in any way mean that testers perform unit testing nor that testers duplicate the unit test efforts that developers do. Testers should bring their expertise to play and develop and execute business focussed tests that could be exploratory in nature and augment the unit test efforts
  • Testers in the agile world need to be familiar with the tools of the trade. Being able to go beyond their areas of specialization is expected. Testers should be comfortable with the development environment and handle tasks such as checking out source code from the repository, use the version control system, build system, use an IDE, know the language and be familiar with technologies used in developing the product, be aware of the frameworks used and so on. Testers on agile teams cannot afford to remain detached from the tools and technologies involved in producing software
  • Tester need to be able to work on limited requirements specifications and communicate effectively with product owners / customers to better understand the requirements and clarify assumptions. The ability to integrate and work well together with a cross-functional team is a required skill in the agile world
  • Testing in the agile world is not merely about doing exploratory manual tests. Testers perform various test types that would be performed in a traditional model, albeit based on the importance and requirement as assessed by the needs of the customer. Also, test automation is an important activity that happens in addition to manual test efforts
  • Testers should focus on tests that tend to integrate different features and operations. Maintaining a solutions approach to testing helps identify any issues which may not be captured by way of feature or unit focused test efforts

Quality in an Agile world is the responsibility of the entire team. Agile testers need to learn and apply agile principles to enable the whole team to produce a quality product. Agile testing requires testers to be  pro-active, creative, willing to take up different tasks, quick learners and adaptable to change, in short – be Agile !

 

POST BY John Morrison. FOR ORIGINAL ARTICLE, PLEASE VISIT: http://www.techmanageronline.com/2009/12/testing-in-agile-world-final-part-4.html

### RT-Thread Agile Modbus Slave 实现与配置 #### 添加 RT-Thread Nano 软件包 为了获取 RT-Thread Nano 的软件包,在 STM32CubeMX 中需添加 URL `https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc`[^1]。 #### 移植 RT-Thread 和 Agile Modbus 协议栈 对于基于 RT-Thread Nano 框架并使用 AHT20 温湿度传感器构建 MODBUS 接口的 Slave 设备而言,首要任务是在项目中集成 RT-Thread 并安装 Agile Modbus 协议栈。这通常涉及以下几个方面的工作: - **初始化 RT-Thread**: 配置和编译适合目标硬件平台(如 STM32)的操作系统环境。 - **引入 Agile Modbus 库**: 可以通过包管理工具下载官方支持的 Agile Modbus 组件到工程目录下,并按照文档说明完成必要的设置过程[^2]。 #### 编写主程序逻辑 一旦上述准备工作就绪,则可以着手编写应用程序代码来处理来自 Master 设备的数据请求以及向其发送响应数据。具体来说就是实现如下功能: - 定义用于存储温度和湿度测量值的全局变量; - 创建一个定时器线程周期性地调用 API 函数读取当前环境参数; - 注册回调函数监听特定寄存器地址范围内的访问事件;当检测到来自客户端的应用层指令时触发相应的动作,例如更新共享内存中的数值或将最新采集的结果打包成标准帧格式返回给对方。 ```c #include "rtthread.h" #include "agile_modbus_slave.h" // 假设已经定义好了AHT20驱动接口 extern float get_temperature(void); extern float get_humidity(void); static struct rt_semaphore sem; void modbus_task_entry(void *parameter) { while (1) { /* 等待信号量 */ rt_sem_take(&sem, RT_WAITING_FOREVER); // 处理MODBUS命令... /* 发送应答消息 */ agile_modbus_send_response(); } } int main(void) { // 初始化信号量 rt_sem_init(&sem, "modbus", 0, RT_IPC_FLAG_FIFO); // 启动MODBUS服务端线程 rt_thread_t tid = rt_thread_create("mbus", modbus_task_entry, RT_NULL, 1024, 25, 10); if (tid != RT_NULL) rt_thread_startup(tid); return 0; } ``` 此段伪代码展示了如何创建一个新的后台工作进程专门负责接收解析外部传入的消息体内容,并依据实际需求执行对应操作后再反馈回去。注意这里仅提供了一个简化版的例子供参考学习之用,真实场景下的业务流程可能会更加复杂一些。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值