嵌入式软件分析与测试问题
1. Please describe your software testing process to me.
请给介绍一下你们是如何进行软件测试的。
2. Do you have a separate software testing group? Do they report to the development team management or separate mgt.?
你们是否有一些独立的软件测试小组?他们是软件开发小组作报告还是…
3. Do development engineers do their own testing? Do development engineers do the unit testing and then a separate group does the integration and system testing?
开发工程师自己做测试吗?开发工程师做小模块的测试,然后由一个独立的小组作整体和系统的测试吗?
4. What corporate standards do you have which govern software quality. Coding standards? Testing standards? Documentation standards?
企业自己有什么样的标准来管理软件的质量吗?还有测试的标准、说明文档的标准呢?
5. What government or industry standards must you comply with (or will you have to comply with in the future) which affect software quality and development process. 2167A? US-FDA? US-FAA? ISO900X? Specifically what do they require that you are concerned about?
一些产业标准对软件的质量及开发进程有一定的影响,在你们开发的过程中必须遵照什么样的产业标准,如2167A、
US-FDA、 US-FAA、
ISO900X(或者未来必须遵照的)呢? 能明确你所关注的是它们有什么样要求吗?
6. What software quality problems are you having? What steps are you taking to overcome these problems? What do you wish a tool vendor would offer to address these problems?
你们有软件质量问题吗?如何解决这些问题?你们是否希望有供应商提供解决这种问题的工具?
7. How do you currently do software performance anal
你们当前碰到软件性能瓶颈的问题吗?
8. ysis? What are the plusses and minuses of this solution (even if it"s ours)?
你们对这些解决方案有什么意见和建议呢(包括我们提供的解决方案)?
9. Do you currently do coverage testing? Are you planning to in the future? What tools or tool features are important to you? Are you comfortable that you are currently testing your code completely?
近来你们是否做代码覆盖率分析? 或者有计划有未来做吗?什么样的工具或工具的功能对你们来说是最重要的?你们对当前的软件测试感到完全满意吗?
10. (Coverage testing is a measurement to determine how much of a program actually executes during a test. If a program section doesn"t execute it could be full of defects and you wouldn"t know it. So if you measure coverage you can identify un-executed portions and then write new tests which exercise that part of the code.)
(代码覆盖率每一次测试中衡量一个程序在运行的过程到底执行了多大范围。如果有部分程序没有执行,那就有可能存在着缺陷,虽然我们并不知道它们的存在。因此,代码覆盖率可以让让你们清楚地知道有多少代码没有执行,然后再做一个新的测试完成未测试部分。)
11. How do you currently locate and repair dynamic memory allocation problems?
你们是否在定位或修复动态内存分配问题?
12. (Dynamic memory allocation is a source of innumerable problems. A system has a pool of memory, of which individual functions may allocate a portion. When the function is finished using the section of memory it "frees" it, returning it to the pool. A common problem is that memory is repeatedly allocated but not freed, resulting in an eventual "out of memory" condition.)
( 动态内存分配错误是无数系统问题的根源。一个系统有共享的内存,一些函数会独立地分配在每个不同的地方。当函数运行完毕后,占用的内存就应该释放。常见的问题是,一些内存被反复地使用,如果在这过程种没有及时释放,就会导致溢出。)
13. To what extent do you currently rely on logic analyzers or emulators for these testing/quality measurements? To what extent do you rely on logic analyzers or emulators for software tracing?
目前对于测试你们通过逻辑分析仪或仿真器能测试多少范围呢?通过逻辑分析仪或仿真器能进行多大范围的代码跟踪呢?
14. Do you test any portion of your software on a host machine prior to cross-compiling and testing in-circuit? Does any of your end product run on a host machine? What portion of your software is host-based versus in-circuit?
你们是否在交叉编译和循环测试之前在主机上对软件的每一个部分进行测试?任何最终产品都在主机上运行吗?
15. Does engineering usually deliver a clean product to Validation/System Test?
工程师通常会递交一个合格的产品作确认性或系统测试吗?
16. How many iterations between development and Validation are typical for a given release?
一个版本的发布前通常要在开发与确认之间经过几个来回?
17. What kinds of problems do you typically uncover in System Test?
你在系统测试的过程中通常会找出会什么样的典型问题?
18. ** 4. What testing do you wish the development team did prior to releasing to you which they do not currently do?
在发小组在把新的版本递交给你之前,你认为有哪些测试是他们应该做而又没有做的?
19. Do you think most of the problems you have uncovered could have been caught at the unit level? At the integration level?
你是否认为绝大多数的问题应该在小模块的时候找出来?或者在整合的段?1. Does integration usually go smoothly?
程序的最后整合通常顺利吗?
20. What kinds of problems have you had in the integration phase on previous projects?
在当前的项目整合的过程中有些什么样的问题?
21. Are most of the defects you discover at integration directly tied to integration? Are the problems in the interface between the various software units, or are they completely confined to a particular software unit?
你们在整合的过程中发现在问题通常会直接影响到整合吗?这些问题是出现在各个程序之间的接口,还是出现在一些特定的的程序模块里头?
22. How do you develop tests for the integration phase?
你们如何进行在整合过程的测试?
23. Is there a written integration test plan or procedure?
有详细的整合测试计划和步骤吗?
24. Do you feel that the integration testing you now do is adequate? Why or why not?
你们认为现在做的整合方面的测试足够吗?那是为什么?
25. How do you know how complete your integration testing is? Are you surprised by failures in Validation because you thought the failed feature had been tested at integration?
你们是否知道整个整合测试的过程是如何完成的吗?对于因为你认为一些失败的因素已经在整合的过程中被测试过,而在最后确认时却没有通过时,你感到惊讶吗?
26. Do you currently do any coverage testing? What would you guess your current test coverage is? (Note: we’ve seen customer project test coverage as low as <30 on released products!!!)
目前你们在做一些代码覆盖率的分析吗?你认为你们当前的代码测试的覆盖率是多少?(注:我们发现已发布的软件产品的代码测试的覆盖率通常低于30
!!!)
27. If your coverage could easily be driven to 80 or more, what do you think you would discover?
(CodeTEST/Coverage is interactive, making it easy to develop tests that increase coverage because you get immediate feedback on the coverage impact of each additional test case....etc.)
假如你们软件的代码测试的覆盖率高于80
,你认为你们会有些什么发现?(CodeTEST/代码覆盖率分析是交互式分析的,更易于制定测试,提高测试覆盖率,因为在每次额外的测试的覆盖率变化,你都可以得到即时的反馈。)
28. Do you have performance goals or requirements? Do you schedule time to test that these are met? How do you measure performance now?
在性能上你们是否有一些目标和要求?是否安排有时间表做测试,以达到预期的目标?你们如何评定性能?
29. When you know that your performance is too slow, how do you decide what to optimize? Are you aware that CodeTEST customers routinely improve their performance by 50 or more?你什么时候发现性能不能满足你们的要求?你们决定如何进行优化呢?你们是否意识到CodeTEST的用户通常能提高产品的性能的50
或更高?
30. Has integration ever been held up by a dynamic memory allocation problem? How long did it take to resolve it?
整合过程是否曾因为动态内存分配错误而被终止?你们花了多长的时间去解决它?
31. When integrating various components, how do you monitor the interactions between them?
(CodeTEST/Trace separates the forest from the trees......etc.)
当整合不同部件的时候,你们如何监控它们之间的互动关系呢?(CodeTEST/代码跟踪能分离出树形结构…)
32. 1. Do you have any formal or written unit test procedures? (If the answer is yes, be sure to compliment the customer- almost no organization formalizes unit testing!)
你们是否有一些正式的或书面的单元测试步骤?(如果有的话,应该致意哪些几乎没有正式单元测试的用户!)
33. How much of your unit development and testing is done in-circuit, and how much on a host machine?
有什么单元的开发与测试是在线进行的?又有多少是在主机上进行的呢?
34. How many target systems do you have for unit development and testing?
你们有多少目标系统作为单元开发和测试用的?
35. Do any of the software units have performance requirements or “time budgets?” How do you currently determine compliance?
有多少软件单元是用具体的性能要求或开发时间限制的? 你们现在决定如何去完成呢?
36. How often are integration problems the result of defects which are local to a unit (rather than an interface issue) and could have been caught with better unit testing?
整合过程中的问题常常是因为单元上的缺陷(多于因为接口参数递引起)而引起的吗?尽管这些缺陷本可以用更好的测试软件在先前捕犹。
37. When an engineer exercises a software unit prior to integration, what percentage of the code (would you guess) actually gets executed?
当工程师在整合之前做一些测试工作,但又有多少百分比(可以估计)的代码真正地执行过呢?
38. For each unit, what do you suspect would happen if the level of coverage were increased to 100 ? How many new defects would you discover?
对于每一个单元,如果测试覆盖率高达100
,你们认为有什么会发生呢?有多少软件缺陷会被发现呢?
39. If you achieved this coverage and repaired those defects, how would the integration process be different?如果达到100
的测试覆盖率,同时更正了那些错误,知道整合的过程将会有多大的区别吗?
40. Of the performance problems encountered at integration time, could any of them have been prevented with performance tuning taking place at the unit level?
在整合过程碰到的问题中,所有影响性能的问题,能否在单元测试的阶段就解决呢?
41. Have any of the integration problems been the result of dynamic memory allocation errors? Could these have been caught at the unit level?
(CodeTEST/Memory.......etc.)
所有整合过程中的问题都是由于动态内存分配错误而导致的吗?这些问题能在单元测试的阶段就解决吗?
42. Are you satisfied with the development, test, and release process of your last project and/or this project?
你是否对你们最后一个或当前项目的开发,测试,发布过程满意呢?
43. How many people are held up when there’s a delay at system integration? When Validation kicks a release back to development?
有多少工作人员因为系统整合的延时而影响工作进程呢?
44. What is the economic impact of a release being a month late, in terms of direct engineering costs and in terms of lost market window?
推迟一个月发布产品会引起多大的经济损失呢(以直接工程费用和失去市场机会来看)?
45. To what extent is system performance a factor in your product’s success in the market place? (In some industries you may even be able to link market share to performance numbers- for example- for every 10 improvement in performance we expect to gain 2 additional market share)
系统的性能在什么样的程度上是产品成功的一个因素?(在某些行业上,系统的性能与市场占有率有密切的关系,例如提高10
的系统性能就可提高2
的市场份额。)
46. If you could improve the performance of an existing (older) system by 50 or 100 , you might be able to extend the life of a given product and maintain a stronger position in the market place while forgoing a hardware upgrade. Would this possibility make a difference in your current plans?
如果你们能把一个正在使用或以前的系统的性能提高50
或100 ,这将能延长产品的使用年限,巩固市场份额,从而免于对硬件的升级,这一切又对你们的计划会产生什么不同的影响呢?
47. Are you satisfied with the quality of your current products? Do you feel you are on track to achieve your desired level of quality on this project, or are there areas of risk? What are those areas?
你们是否对当前的产品满意呢?你们是否认为你们即将达到对这个项目所期望的质量?这当中有什么风险的因素吗?这些因素又是什么呢?
48. Do projects that are released to system test usually move through that phase smoothly? What kind of problems foil a Validation pass?
一个项目通常在系统测试到最后的发布过程中顺利吗? 什么样的问题会使最后的确认通不过呢?
49. Are you happy with the amount of testing that takes place prior to releasing to Validation?你们是否陶醉于产品确认到发布前的测试呢?
50. What would it mean to your project if it were completed one month or two months earlier than it would otherwise be? (This might be the difference between being on schedule or being two months late, or could be the difference between being 6 months late versus 8 months!) What would the economic benefit be of being out earlier?
如果你们的项目能提前一到两个月或更早完成,那将意味着什么呢?(这将完全不同于按时完成,或延迟两个月,更别说延迟6到8个月了!)这又将带来多在的经济效益呢?
51. In general is field support of released products a problem? Do you measure defect density? Are you satisfied with it? Would you be interested if we could demonstrate how we could reduce that defect rate?
通常成批的新版本的技术支持有问题吗?你们是否评定过它们出错的概率?你们对这些都满意吗?你们是否有兴趣让我们做一个如何降低出错率的示范?
52. If a software release routinely passed Validation in one or two passes fewer than present, what would that mean to your project?
如果一套软件发布时通过的确认常常比现在的少一项或两项,这对你们的项目将意味着什么呢?
TOP
HOME
Embedded Digital System
Co.,Ltd. CANADA
嵌入数码系统公司
Email: embedigital@yahoo.com
copy right © 2002 All Rights
Reserved
|
|
|
|
|
|