设为首页 收藏本站
查看: 757|回复: 0

[经验分享] 从PHP安装中的测试(make test)有感

[复制链接]

尚未签到

发表于 2017-4-9 12:50:35 | 显示全部楼层 |阅读模式
http://www.agileway.cn/?p=30


PHP在安装过程中,"make" 后,会提示执行"make test" 。
然后是挺长一段时间,在运行PHP的测试程序,只见屏幕不断滚动。

最后,给出的是如下的测试结果报告(TEST RESULT SUMMARY) 。
引用


================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   56
Exts tested     :   23
---------------------------------------------------------------------

Number of tests : 7593              5333
Tests skipped   : 2260 ( 29.8%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    9 (  0.1%) (  0.2%)
Expected fail   :    5 (  0.1%) (  0.1%)
Tests passed    : 5319 ( 70.1%) ( 99.7%)
---------------------------------------------------------------------
Time taken      :  332 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
iconv stream filter [ext/iconv/tests/iconv_stream_filter.phpt]
posix_initgroups(): Basic tests [ext/posix/tests/posix_initgroups.phpt]
Test session_decode() function : variation [ext/session/tests/session_decode_variation3.phpt]
Test session_encode() function : variation [ext/session/tests/session_encode_variation8.phpt]
Test tempnam() function: usage variations - permissions(0000 to 0777) of dir [ext/standard/tests/file/tempnam_variation4.phpt]
Test mail() function : basic functionality [ext/standard/tests/mail/mail_basic2.phpt]
Test mail() function : variation force extra parameters [ext/standard/tests/mail/mail_variation2.phpt]
Bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM) [ext/xml/tests/bug35447.phpt]
XML Parser test: concat character data and set empty handlers [ext/xml/tests/xml011.phpt]
=====================================================================

=====================================================================
EXPECTED FAILED TEST SUMMARY
---------------------------------------------------------------------
ob_start(): Ensure unerasable buffer cannot be flushed by ob_flush(). [tests/output/ob_start_basic_unerasable_005.phpt]
SPL: ArrayObject::__construct basic usage with ArrayObject::ARRAY_AS_PROPS. [ext/spl/tests/arrayObject___construct_basic4.phpt]
SPL: ArrayObject::__construct basic usage with ArrayObject::STD_PROP_LIST|ArrayObject::ARRAY_AS_PROPS. [ext/spl/tests/arrayObject___construct_basic5.phpt]
SPL: ArrayObject::exchangeArray() basic usage with object as underlying data store. [ext/spl/tests/arrayObject_exchangeArray_basic3.phpt]
SPL: ArrayObject::setFlags basic usage with ArrayObject::ARRAY_AS_PROPS. [ext/spl/tests/arrayObject_setFlags_basic1.phpt]
=====================================================================

You may have found a problem in PHP.
We would like to send this report automatically to the
PHP QA team, to give us a better understanding of how
the test cases are doing. If you don't want to send it
immediately, you can choose "s" to save the report to
a file that you can send us later.





严谨有纪律的PHP开发社群,仅从完备的自动化测试集就可以看出来!
很多人以为测试驱动或自动化回归测试,
是因XP这些敏捷方法出现后才冒出来的,在Java社群履行贯彻较多,
其实,这些实践是被运用已久,
且为各种社群-只要他期望能够进行高效的编程和提供高质量的作品-所广为采用的。

像自动化回归测试和持续集成这样的实践,抛开操作性层面先不说,
首先是需要深刻认识这些实践带来的巨大价值,
再上一层是整个团队要深刻认识到严格遵循这些实践的原则的重要性,
谁也不能做第一个举起石头往窗户上扔的那个人,
到位的遵循这些原则,具备高度的纪律性,
至于具体碰到的实践操作方面的困难、可能暂时的不便
-其实很多是不适应,病根所在是还没有完成思维范式的转换(Paradigm Shift)-
都是可以在实践过程中通过团队的力量,不断改进。

很多时候,团队可能刚刚开始尝试,就因暂时的不适或困难,没迈开几步,就放弃了。
这实在是很可惜的事情。

如我们所观察到的,像自动化回归测试和持续集成这样的实践,
开源项目团队的使用情况普遍好于封闭的商业的开发团队。

因为很多开源项目团队从一开始,
就要求参加项目开发的成员严格遵循这样的纪律和原则。
而许多封闭的商业开发团队,包括出资方和开发者,
认为编写大量的测试"脚手架"(其实这些测试代码不是脚手架,而是代码完备的另一面)代码,
是资源和金钱的浪费,并且感到这些纪律原则束缚了自己的手脚则大有人在。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362428-1-1.html 上篇帖子: PHP中的 抽象类(abstract class)和 接口(interface) 下篇帖子: PHP echo, print, printf, sprintf函数的区别和使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表