小编Dol*_*rim的帖子

测试人员在敏捷中的角色?

我在一个一直在做传统瀑布式开发方法的团队工作多年.最近,我们被告知未来的项目将朝着敏捷(特别是Scrum)方法发展.事实上,我的项目将成为第一个项目之一,因此我们将在接下来的几个月内成为几内亚猪,以确定实现转型所需的条件.

该项目本身处于非常早期阶段,我们通常需要几个月的时间才能向测试团队发布任何内容,但现在我们将直接与他们合作.因此,我担心测试人员在这个阶段在这样一个项目中的作用.我有几个问题/疑虑,希望一些经验丰富的敏捷开发人员可以回答:

  1. 当开发人员编写任务时,测试人员无法对其进行测试(它还不存在).那么测试人员在这一点上的作用是什么
  2. 测试人员现在参与单元测试了吗?这是否与黑匣子测试并行完成?
  3. 在主要进行基础设施变更的冲刺期间,测试人员做了什么,这可能只能在单元测试中测试?

传统测试团队成员如何在敏捷项目中运行?

testing agile project-management scrum

32
推荐指数
3
解决办法
1万
查看次数

如何在套接字关闭时唤醒select()?

我目前正在使用select循环来管理代理中的套接字.此代理的一个要求是,如果代理向外部服务器发送消息并且在特定时间内未收到响应,则代理应关闭该套接字并尝试连接到辅助服务器.结束发生在一个单独的线程中,而select线程阻塞等待活动.

我无法弄清楚如何检测这个套接字是否专门关闭,以便我可以处理故障.如果我在另一个线程中调用close(),我得到一个EBADF,但是我无法判断哪个套接字已关闭.我试图通过异常fdset检测套接字,认为它将包含已关闭的套接字,但我没有得到任何返回.我也听说调用shutdown()会将FIN发送到服务器并收回FIN,这样我就可以关闭它; 但重点是我试图通过在超时期限内没有得到响应来关闭它,所以我也不能这样做.

如果我的假设是错误的,请告诉我.任何想法,将不胜感激.

编辑:响应有关使用选择超时的建议:我需要异步关闭,因为连接到代理的客户端将超时,我不能等待选择被轮询.这只有在我将选择时间变得非常小的情况下才会起作用,这会不断地进行轮询和浪费我不想要的资源.

sockets linux multithreading posix pthreads

7
推荐指数
2
解决办法
2万
查看次数

试图用snprintf添加两个字符串的Bug

我正在尝试用snprintf添加两个字符串,但显然我不知道我在做什么.

这是代码块:

char * filename = NULL;

(void)snprintf (filename, sizeof(filename), "%s/%s",
        PATH, FILE);  
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

char * filename = NULL;

(void)snprintf (filename, sizeof(PATH)+sizeof(FILE)+1, "%s/%s",
        PATH, FILE);  
Run Code Online (Sandbox Code Playgroud)

PATH和FILE是标头定义的字符串.有时,这段代码有效,偶尔也没有.我确定这是某种记忆问题,我做错了什么?

编辑:我的问题是出于某种原因认为snprintf为你分配了内存.我接受了解决这个问题的答案,因为这是我真正的问题,但我已经决定使用编译时字符串连接,因为这是一个非常好的技巧.

c string memory-management

2
推荐指数
1
解决办法
1260
查看次数