其他品牌 品牌
经销商厂商性质
上海市所在地
备品备件RUBBER DESIGN 减震器
面议备品备件0155026/00 集电器电缆
面议备品备件0,03X12,7X5000MM H+S
面议备品备件GEMU 600 25M17 88301392
面议备品备件WENGLOR 放大器301251104
面议备品备件GEMU 554 50D 1 9 51 1
面议备品备件BERNSTEIN SRF-2/1/1-E-H
面议备品备件N813.4ANE KNF
面议QY-1044.0013 泵 SPECK备品备件
面议NT 63-K-MS-M3/1120 备品备件
面议VECTOR 备品备件CANAPE
面议VECTOR VN1670 备品备件
面议Prevost 20 3660058098915
Prevost 22 3660058098939
Prevost 25 3660058098953
Prevost 27 3660058098991
Prevost 0507 3660058018708
Prevost 0709 3660058018715
Prevost 0911 3660058018722
Prevost 1113 3660058018739
Prevost 1315 3660058018753
Prevost 1517 3660058018777
Prevost 1518 3660058018784
Prevost 1720 3660058018807
Prevost 1821 3660058018821
Prevost 2023 3660058018838
Prevost 2225 3660058018845
Prevost 2327 3660058018852
Prevost 2528 3660058018869
Prevost 2731 3660058018876
Prevost 3134 3660058018883
Prevost 3437 3660058018890
Prevost 3740 3660058018906
Prevost 4043 3660058018913
Prevost 4346 3660058018920
Prevost 27101 3660058026345
Prevost 27103 3660058026352
Prevost 27201 3660058136440
Prevost 0708EG 3660058048996
Prevost 0709E 3660058048798
Prevost 0709P 3660058237079
Prevost 0809EG 3660058049009
Prevost 0810E 3660058048804
Prevost 0910EG 3660058049016
Prevost 0911E 3660058048811
Prevost 0911P 3660058237499
Prevost 1011EG 3660058049023
Prevost 1012E 3660058048828
Prevost 1012EG 3660058049030
Prevost 101V 3660058098861
Prevost 1113E 3660058048835
Prevost 1113EG 3660058049047
Prevost 1113P 3660058240123
Prevost 1213D 3660058018746
Prevost 1214E 3660058048842
Prevost 1315EG 3660058049054
Prevost 1315P 3660058237741
Prevost 1415D 3660058018760
Prevost 1416E 3660058048859
Prevost 1517EG 3660058049061
Prevost 1517P 3660058270717
Prevost 1518P 3660058237765
Prevost 1617D 3660058018791
Prevost 1618E 3660058048866
Prevost 1720P 3660058237086
Prevost 1819D 3660058018814
Prevost 1821P 3660058237093
Prevost 2023P 3660058237109
Prevost 20FX 3660058098922
Prevost 2225P 3660058270724
Prevost 22FX 3660058098946
Prevost 2327P 3660058237116
Prevost 25FX 3660058098960
Prevost 25M38 3660058098977
Prevost 27102 BL10 3660058025829
Prevost 27102 EC6A 3660058099141
Prevost 27102 EC6I 3660058099172
Prevost 27102 EC7E 3660058099189
Prevost 27102 ECR 3660058025843
Prevost 27102 ECRP 3660058253437
Prevost 27102 F18 3660058025867
Prevost 27102 MB13 3660058099219
Prevost 27102 MB20 3660058099257
Prevost 27102 MB40OSH 3660058225816
Prevost 27102 MT6A 3660058099585
Prevost 27102 MT6I 3660058099615
Prevost 27102 MT7E 3660058099622
Prevost 27102 MTJ06 3660058171960
Prevost 27102 MTJ09 3660058171953
Prevost 27102 MTL 3660058025874
Prevost 27102 MTLBP3 3660058025881
Prevost 27102 MTLP 3660058231961
Prevost 27102 OS6A 3660058099677
Prevost 27102 OS6I 3660058099707
Prevost 27102 OS7E 3660058099714
Prevost 27102 OSH 3660058025928
Prevost 27102 OSHP 3660058253444
Prevost 27102 PR6A 3660058099820
Prevost 27102 PR6I 3660058099851
Prevost 27102 PR7E 3660058099868
Prevost 27102 PRE 3660058025942
Prevost 27102 PREBP3 3660058025959
Prevost 27102 PREP 3660058231978
Prevost 27102 PRJ06 3660058172042
Prevost 27102 PRJ13 3660058172059
Prevost 27102 SI6A 3660058099943
Prevost 27102 SI6I 3660058099974
Prevost 27102 SI7E 3660058099981
Prevost 27102 SIJ06 3660058172073
Prevost 27102 SIJ09 3660058172066
Prevost 27102 SIJ13 3660058172080
Prevost 27102 SIL 3660058025973
Prevost 27102 SILP 3660058253451
Prevost 27201E 3660058136457
Prevost 27F38 3660058099011
Prevost 27FX 3660058099004
Prevost 29FX 3660058028141
Prevost 30FX 3660058028158
Prevost 7101T 3660058026376
Prevost 7200T 3660058026383
Prevost A1 0101 3660058015608
Prevost A1 1201 3660058236232
Prevost A1 1212 3660058015615
Prevost A1 1212I 3660058064569
Prevost A1 1234I 3660058064576
Prevost A1 1412 3660058015639
Prevost A1 1414 3660058015646
Prevost A1 1414I 3660058064583
Prevost A1 14251 3660058015653
Prevost A1 1438 3660058015660
Prevost A1 1438I 3660058064606
Prevost A1 1814 3660058015677
Prevost A1 1814I 3660058064613
Prevost A1 1818 3660058015684
Prevost A1 1818I 3660058064620
Prevost A1 1838 3660058015707
Prevost A1 3401 3660058015714
Prevost A1 3412 3660058015721
Prevost A1 3434 3660058015738
Prevost A1 3434I 3660058064637
Prevost A1 3442 3660058236249
Prevost A1 3812 3660058015745
Prevost A1 3812I 3660058064651
Prevost A1 3834 3660058236225
Prevost A1 3838 3660058015752
Prevost A1 3838I 3660058064668
Prevost A1 M518 3660058015592
Prevost A1 M5M5 3660058015585
Prevost A10 0101 3660058040679
Prevost A10 1212 3660058015820
Prevost A10 1212P2 3660058232845
Prevost A10 1414 3660058015837
Prevost A10 1414P2 3660058232838
Prevost A10 1818 3660058015844
Prevost A10 3434 3660058015851
Prevost A10 3838 3660058015882
Prevost A10 3838P2 3660058232852
Prevost A11 01 3660058040150
Prevost A11 12 3660058015875
Prevost A11 12P 3660058233859
Prevost A11 14 3660058045919
Prevost A11 14P2 3660058232869
Prevost A11 18 3660058015899
Prevost A11 34 3660058015905
Prevost A11 38 3660058015912
Prevost A11 38P2 3660058232876
Prevost A11 42 3660058176040
Prevost A11 49 3660058176057
Prevost A11 60 3660058176064
Prevost A12 0101 3660058040310
Prevost A12 1212 3660058015936
Prevost A12 1414 3660058015943
Prevost A12 1818 3660058015950
Prevost A12 3434 3660058015967
Prevost A12 3838 3660058015974
Prevost A13 0101 3660058040327
Prevost A13 1212 3660058015981
Prevost A13 1414 3660058015998
Prevost A13 1818 3660058016001
Prevost A13 3434 3660058016018
Prevost A13 3838 3660058016025
Prevost A14 12 3660058016032
Prevost A14 14 3660058016056
Prevost A14 18 3660058016070
Prevost A14 38 3660058016087
Prevost A15 12 3660058016100
Prevost A15 14 3660058016117
Prevost A15 18 3660058040723
Prevost A15 38 3660058016124
Prevost A16 3814S2 3660058040877
Prevost A16 3814S3 3660058040884
Prevost A16 3814S4 3660058016131
Prevost A16 3814S5 3660058016148
Prevost A16 3814S6 3660058016155
Prevost A17 14 3660058064743
Prevost A17 38 3660058064750
Prevost A18 12 3660058016162
Prevost A18 14 3660058016179
Prevost A18 18 3660058016186
Prevost A18 34 3660058016193
Prevost A18 38 3660058016209
Prevost A2 0101 3660058016230
Prevost A2 1212 3660058016247
Prevost A2 1212P2 3660058232548
Prevost A2 1234 3660058016254
Prevost A2 1412 3660058016261
Prevost A2 1412P2 3660058232586
Prevost A2 1414 3660058016278
Prevost A2 1414P2 3660058232531
Prevost A2 1438 3660058016285
Prevost A2 1438P2 3660058232555
Prevost A2 1814 3660058016292
Prevost A2 1818 3660058016308
Prevost A2 1838 3660058016315
Prevost A2 3401 3660058016339
Prevost A2 3434 3660058040402
Prevost A2 3434P2 3660058232593
Prevost A2 3812 3660058016346
Prevost A2 3812P2 3660058232579
Prevost A2 3838 3660058016353
Prevost A2 3838P2 3660058232562
Prevost A2 4201 3660058016360
Prevost A2 4242 3660058016377
Prevost A2 4942 3660058016384
Prevost A2 4949 3660058016391
Prevost A2 6049 3660058016407
Prevost A2 6060 3660058016414
Prevost A20 12 3660058040655
Prevost A20 14 3660058016636
Prevost A20 18 3660058016643
Prevost A20 38 3660058040648
Prevost A21 12 3660058064781
Prevost A21 14 3660058064798
Prevost A21 18 3660058064804
Prevost A21 38 3660058064811
Prevost A23 01T0,5 3660058051552
Prevost A23 01T1 3660058051569
Prevost A23 01T1,5 3660058051576
Prevost A23 01T10 3660058051743
Prevost A23 01T10,5 3660058051750
Prevost A23 01T11 3660058051767
Prevost A23 01T11,5 3660058051774
Prevost A23 01T12 3660058051781
Prevost A23 01T12,5 3660058051835
Prevost A23 01T13 3660058051842
Prevost A23 01T13,5 3660058051859
Prevost A23 01T14 3660058051866
Prevost A23 01T14,5 3660058059978
Prevost A23 01T15 3660058051873
Prevost A23 01T15,5 3660058051880
Prevost A23 01T16 3660058051897
Prevost A23 01T16,5 3660058053402
Prevost A23 01T17 3660058051910
Prevost A23 01T17,5 3660058053419
Prevost A23 01T18 3660058051927
Prevost A23 01T18,5 3660058051934
Prevost A23 01T19 3660058051941
Prevost A23 01T19,5 3660058051958
Prevost A23 01T2 3660058051583
Prevost A23 01T2,5 3660058051590
Prevost A23 01T20 3660058051965
Prevost A23 01T20,5 3660058051972
Prevost A23 01T21 3660058051989
Prevost A23 01T3 3660058051606
Prevost A23 01T3,5 3660058051613
Prevost A23 01T4 3660058051620
Prevost A23 01T4,5 3660058051637
Prevost A23 01T5 3660058051644
Prevost A23 01T5,5 3660058051651
Prevost A23 01T6 3660058051668
Prevost A23 01T6,5 3660058051675
Prevost A23 01T7 3660058051682
Prevost A23 01T7,5 3660058051699
Prevost A23 01T8 3660058051705
Prevost A23 01T8,5 3660058051712
Prevost A23 01T9 3660058051729
Prevost A23 01T9,5 3660058051736
Prevost A23 12T0,5 3660058051064
Prevost A23 12T1 3660058051071
Prevost A23 12T1,5 3660058051088
Prevost A23 12T10 3660058051255
Prevost A23 12T10,5 3660058051262
Prevost A23 12T11 3660058051279
Prevost A23 12T11,5 3660058051286
Prevost A23 12T12 3660058051293
Prevost A23 12T12,5 3660058051811
Prevost A23 12T13 3660058052696
Prevost A23 12T13,5 3660058052702
Prevost A23 12T14 3660058052719
Prevost A23 12T14,5 3660058052726
Prevost A23 12T15 3660058052733
Prevost A23 12T15,5 3660058052740
Prevost A23 12T16 3660058052757
Prevost A23 12T16,5 3660058052764
Prevost A23 12T17 3660058052771
Prevost A23 12T17,5 3660058052788
Prevost A23 12T18 3660058052795
Prevost A23 12T18,5 3660058052801
Prevost A23 12T19 3660058052818
Prevost A23 12T19,5 3660058052825
Prevost A23 12T2 3660058051095
Prevost A23 12T2,5 3660058051101
Prevost A23 12T20 3660058052832
Prevost A23 12T20,5 3660058052849
Prevost A23 12T21 3660058052856
Prevost A23 12T21,5 3660058052863
Prevost A23 12T22 3660058052870
Prevost A23 12T22,5 3660058052887
Prevost A23 12T23 3660058052894
Prevost A23 12T23,5 3660058052900
Prevost A23 12T24 3660058052917
Prevost A23 12T24,5 3660058052924
Prevost A23 12T25,5 3660058052948
Prevost A23 12T26 3660058052955
Prevost A23 12T26,5 3660058052962
Prevost A23 12T27 3660058052979
Prevost A23 12T27,5 3660058052986
Prevost A23 12T28 3660058052993
Prevost A23 12T28,5 3660058053006
Prevost A23 12T29 3660058053013
Prevost A23 12T29,5 3660058053020
Prevost A23 12T3 3660058051118
Prevost A23 12T3,5 3660058051125
Prevost A23 12T30 3660058053037
Prevost A23 12T4 3660058051132
Prevost A23 12T4,5 3660058051149
Prevost A23 12T5 3660058051156
Prevost A23 12T5,5 3660058051163
Prevost A23 12T6 3660058051170
Prevost A23 12T6,5 3660058051187
Prevost A23 12T7 3660058051194
Prevost A23 12T7,5 3660058051200
Prevost A23 12T8 3660058051217
Prevost A23 12T8,5 3660058051224
Prevost A23 12T9 3660058051231
Prevost A23 12T9,5 3660058051248
Prevost A23 14T0,5 3660058050586
Prevost A23 14T1 3660058050593
Prevost A23 14T1,5 3660058050609
Prevost A23 14T10 3660058050777
Prevost A23 14T10,5 3660058050784
Prevost A23 14T11 3660058050791
Prevost A23 14T11,5 3660058050807
Prevost A23 14T12 3660058050814
Prevost A23 14T12,5 3660058051798
Prevost A23 14T13 3660058051996
Prevost A23 14T13,5 3660058052009
Prevost A23 14T14 3660058052016
Prevost A23 14T14,5 3660058052023
Prevost A23 14T15 3660058052030
Prevost A23 14T15,5 3660058052047
Prevost A23 14T16 3660058052054
Prevost A23 14T16,5 3660058052061
Prevost A23 14T17 3660058052078
Prevost A23 14T17,5 3660058052085
Prevost A23 14T18 3660058052092
Prevost A23 14T18,5 3660058052108
Prevost A23 14T19 3660058052115
Prevost A23 14T19,5 3660058052122
Prevost A23 14T2 3660058050616
Prevost A23 14T2,5 3660058050623
Prevost A23 14T20 3660058052139
Prevost A23 14T20,5 3660058052146
Prevost A23 14T21 3660058052153
Prevost A23 14T21,5 3660058052160
Prevost A23 14T22 3660058052177
Prevost A23 14T22,5 3660058052184
Prevost A23 14T23 3660058052191
Prevost A23 14T23,5 3660058052207
Prevost A23 14T24 3660058052214
Prevost A23 14T24,5 3660058052221
Prevost A23 14T25 3660058052238
Prevost A23 14T25,5 3660058052245
Prevost A23 14T26 3660058052252
Prevost A23 14T26,5 3660058052269
Prevost A23 14T27 3660058052276
Prevost A23 14T27,5 3660058052283
Prevost A23 14T28 3660058052290
Prevost A23 14T28,5 3660058052306
Prevost A23 14T29 3660058052313
Prevost A23 14T29,5 3660058052320
Prevost A23 14T3 3660058050630
Prevost A23 14T3,5 3660058050647
Prevost A23 14T30 3660058052337
Prevost A23 14T4 3660058050654
Prevost A23 14T4,5 3660058050661
Prevost A23 14T5 3660058050678
Prevost A23 14T5,5 3660058050685
Prevost A23 14T6 3660058050692
Prevost A23 14T6,5 3660058050708
Prevost A23 14T7 3660058050715
Prevost A23 14T7,5 3660058050722
Prevost A23 14T8 3660058050739
Prevost A23 14T8,5 3660058050746
Prevost A23 14T9 3660058050753
Prevost A23 14T9,5 3660058050760
Prevost A23 34T0,5 3660058051309
Prevost A23 34T1 3660058051316
Prevost A23 34T1,5 3660058051323
Prevost A23 34T10 3660058051507
Prevost A23 34T10,5 3660058051514
Prevost A23 34T11 3660058051521
PREVOST RPD MR1001 1/4"
PREVOST RPD MR1002 3/8"
PREVOST RPD MR1203 1/2"
PREVOST RPD MR1202 3/8"
PREVOST RPD MR1201 1/4"
PREVOST RPD MR1203,1/2"
PREVOST RPD MR0801,1/4"
PREVOST RPD MR0802,3/8"
PREVOST RPD MR1202,3/8"
PREVOST RPD MR0800,1/8"
PREVOST RPD MR1201,1/4"
PREVOST RPT ET1212
PREVOST RPT ET1010
PREVOST RPU ET0606
PREVOST RPD MR1203,1/2"
PREVOST RPD MR0801,1/4"
PREVOST RPD MR0802,3/8"
PREVOST RPD MR1202,3/8"
PREVOST RPD MR0800,1/8"
PREVOST RPD MR1201,1/4"
PREVOST MT RA1050
PREVOST MT RA1023
PREVOST RPU IT1210
PREVOST RPU IT1008
PREVOST RPU IT0806
PREVOST RPY ET1010
PREVOST RPY ET1212
PREVOST RPT ET0808
PREVOST RPU ET0808
PREVOST ISI 08 G3/8
PREVOST ISI 08 G1/4
PREVOST DMF 0810N 8X12 10m 1115
PREVOST PUCR M0710100
一.法国PREVOST压缩空气ALR超级管道工程
ALR压缩空气管路近年来被誉为气动超级管道,安装简捷方便、耐用时间十年以上、*生锈磨损、二次拆装无损耗,凭借独到的材料优势,在各行各业的压缩空气管路中得到了广泛的认可和好评。
二.法国PREVOST安全快速接头、气动卷管器、油水分离器、特种气管、液压接头、 模具用CPI插头、气动油脂泵等气动产品。
安全快速接头,是一种不需要工具就能实现管路连通或断开的接头。快速接头可分为:空气用快速接头、氧气燃料气体用快速接头、气体液体共用快速接头、油压用快速接头、惰性气体用快速接头、冷却水温油用快速接头、半导体快速接头。
1、两端开闭式
不链接时:当母体的套圈移到另一端时,不锈钢珠自动向外滚动,子体因母体与子体共同阀门弹簧力的作用力运作下而断开,子体与母体的阀门各自闭合,瞬间阻断流体流动。
链接时:按钮式气动快速接头厂家介绍说,当子体插入母体时,套圈在弹簧的作用下回到原来的位置,钢珠滚动锁紧子体紧密连接,同时母体与子体的阀门互相推动而打开,流体流通,O型圈能*阻断流体的渗漏。
2、两端开放式
不链接:当母体的套圈被推到另一端时,钢珠自动向外滚动,因此,子体被移出;由于子体与母体都没有阀门,流体向外流出。
链接时:当子体插入母体时,套圈被其弹簧的作用力推到先前的位置致钢珠锁紧,流体流动,其中的O型圈以防止液漏。
3、单路开闭式
不链接:当母体的套圈移到另一端时,不锈钢珠自动向外滚动,子体被阀门弹簧的反作用力弹开,阀门就能自动关闭以阻断流体流动。
LOHSE 气缸活塞 D605200
LOHSE 阀板 A810155
LOHSE 密封包 O4815000201 包含填料组件A836155 NL形密封圈A830153 滑动衬板A337154 密封线A832905
LOHSE 密封法兰 A852925
LOHSE 气缸修理包 A037175
LOHSE 阀板 A810105
LOHSE 密封包 O4810000901 包含填料组件A836105 NL形密封圈A830103 滑动衬板A337104 密封线A832903
LOHSE 密封法兰 A852923
LOHSE 气缸修理包 A037145
LOHSE 阀板 A807255
LOHSE 密封包 O9625000501 包含填料组件A837256 阀座A967269 导轨A967255 刮板A917165 圆形密封线A917251
KUBLER 编码器 8.5883.5624.G323 091050397F
MURR 精密电阻板 67081
BANNER 传感器 QS18EP6DQB
PHOENIX 无线通讯装置 FL WLAN 24 AP 802-11
SIEMENS 电机 电机1LA7131-2AA61-Z
RITZ 电机 7AA100L-4 B35 3kW
ZIEHL-ABEGG 风机 RH71M-6DK.7Q.1R
ASC 高温计 PM500-2C法国PREVOST卷管器原装法国PREVOST卷管器原装
WURTH(Würth) 热胶枪 HKLEBPIST-EL-HKP220 MASTER 07026231
WURTH(Würth) 剥线器 ENTMANTLER-KOMBI-RUND-8-13MM 071441 031
WURTH(Würth) 压线钳 CRIMPZANG-AENDHUE-(0,08-6QMM) ZEBRA,714107101
WURTH(Würth) 压线钳 CRIMPZANG-(UNISO-KBLVERB)-(0,5-2,5QMM) ZEBRA 0714107110
WURTH(Würth) 压线钳 CRIMPZANG-(UNISO-KBLVERB)-(0,5-6QMM) ZEBRA 0714107108
WURTH(Würth) 压线钳 ABISOZANG-SELBSTJUST-(0,02-10QMM) 071410810
WURTH(Würth) 组套 BO-MET-SORT-DIN338-HSS-155TLG 0964625020
WURTH(Würth) 风枪 HLUFTGEBLAESE-EL-HLG2000 MASTER 07022020
WURTH(Würth) 电钻 BOSHRBR-AKKU-(BS96-A SOLID)-NICD-2X2AH MASTER 07001823
WURTH(Würth) 电钻 LOT-NR1-ZN60/PB40-1KG-D1 0987112
WURTH(Würth) 组套 VERBMUFF-GEL-WGM6 0975350001
WURTH(Würth) 钻头 BO-SPRL-HO-SET-HSS-S1/4ZO-19TLG ZEBRA 0650010001
WURTH(Würth) 钻头 SAE-ZYL-SET-HSS-(19-76MM)-16TLG ORSY100 0964632
WURTH(Würth) 钻头 GWDREP-SET-KOMPL-M5/M6/M8/M10/M12 09649617
WURTH(Würth) 钻头 EDSTPFLEG-SPRAY-400ML 0893121
WURTH(Würth) 红外激光测温仪 B33963101
WURTH(Würth) 丝锥板牙组套 Artk.:096592200, SHNDEIS-SET-(M5-M20)-43TLG
WURTH(Würth) 润滑剂 Artk.:08931066, HAFTSHMIRST-(HHS DRYLUBE)-400ML
WURTH(Würth) 电焊台 Artk.:07159450, LOETSA-ANALOG-60W
WURTH(Würth) 胶棒 Artk.:0890100050, SCHMELZKLEBST-HOCHFEST-F.MLIFTR-10ST
WURTH(Würth) 热风枪 Artk.:07022030, HLG 2300-LCD
WURTH(Würth) Artk.:071553110
XENSOR 传感器 XEN-GFL9722
ZEPPELIN 20053240 PN 137051
ZEPPELIN 20041315 PN 124344
ZEPPELIN 20041314 PN 124343
ZEPPELIN 20041309 PN 124338
ZIEHL-ABEGG 风机 LKD-050GC-104-N4WBKK
ZIEHL-ABEGG 轴流风机 RH25M-2DK.1E.2R
ZIMMER 夹紧装置 UBPS3505AS1
ZIMMER 导轨锁 MKS2501A
ZIMMER 导轨锁 MKS2501A
ZIMMER 导轨锁(夹紧装置) MBPS3505AS1
ZIMMER 加紧单元 MKS 2501A
AB 门级驱动板 SK-H1-GDB1-F13E(替代型号:SK-H1-GDB1-F1314E)
AB 门级驱动板 SK-H1-GDB1-F10E(替代型号:SK-H1-GDB1-F1012E)
AB 门级驱动板 SK-H1-GDB1-F11E
AB 电压反馈板 SK-H1-SVFB2-E1
AB ASIC板 SK-H1-ASICBD-E1180
AB 传感器 42EF-P2JBB-F4
齐人有言曰虽有智慧不如 Tesa 04224-00126-00 Kautschukmasse WEISS L?nge/m: 66,00 Breite/m 绝缘胶带
齐人有言曰虽有智慧不如 Reckmann s-nr:103047 接头
齐人有言曰虽有智慧不如 MEN 01A201S12 基板
齐人有言曰虽有智慧不如 BECKHOFF C9900-P208
齐人有言曰虽有智慧不如 Euchner KCA2A2A2A2A0000DV0W
齐人有言曰虽有智慧不如 Mahle PIS3097/2.2 Nr:7769948 压差传感器
齐人有言曰虽有智慧不如 microsonic zws-15/BE/MAN1.2B 感应传感器
齐人有言曰虽有智慧不如 Hasco z809/13/16X1.5 接头
齐人有言曰虽有智慧不如 MP HP0653A10ANP01 滤芯
齐人有言曰虽有智慧不如 Wolfgang Warmbier GmbH & Co. KG 2200.111 电缆
齐人有言曰虽有智慧不如 EGE SC440/1-A4-GSP 流量传感器
齐人有言曰虽有智慧不如 Turck NI15-S30-AZ3X/S100 Nr:13758 接近开关
齐人有言曰虽有智慧不如 INA ZKLN1747-2RS-PE 轴承
齐人有言曰虽有智慧不如 Schnorr S 3,00 ,NR.410750 碟形弹簧
齐人有言曰虽有智慧不如 ROESSEL-Messtechnik GmbH 2-1277-00431-11 热电阻
齐人有言曰虽有智慧不如 SIEMENS 3NG1302 自动控制器
齐人有言曰虽有智慧不如 igus MAT9660001 接头电缆
齐人有言曰虽有智慧不如 COREMO OCMEA Anr:102603862 Type:SB-N 50 气缸
齐人有言曰虽有智慧不如 Mankenberg EB1.12 3/4*16ST-6FV 排气阀
齐人有言曰虽有智慧不如 Turck SWKP4-5/S90,NO:8007382 接头
齐人有言曰虽有智慧不如 BECKHOFF CP6201-0001-0020
齐人有言曰虽有智慧不如 Beckhoff Automation GmbH KL2134 总线模块
齐人有言曰虽有智慧不如 SIEMENS 7ML1830-2AN 液位计
齐人有言曰虽有智慧不如 pizzato FS3098 D024,Nr.028FS3098D 安全开关
齐人有言曰虽有智慧不如 Leuze MLC510R14-1500/A
齐人有言曰虽有智慧不如 IFM PN4221 PN-250-SBN14-HFBOW/LS/ /V
齐人有言曰虽有智慧不如 Turck BL20-4DI-24VDC-N Nr:6827013 总线模块
齐人有言曰虽有智慧不如 Hoentzsch A000/522 流量计附件
齐人有言曰虽有智慧不如 lumberg PRKFM 4/0,5 M
齐人有言曰虽有智慧不如 ATOS SCLI-1632/2/3 阀门
齐人有言曰虽有智慧不如 HBC 1 Z-Z00007 Drehtaster, BCD-Drehschalter 开关
齐人有言曰虽有智慧不如 JOYNER DUJ-30/150 气缸密封
齐人有言曰虽有智慧不如 Contrinex LTK-1040-301-506
齐人有言曰虽有智慧不如 Contrinex DW-AD-618-M18
齐人有言曰虽有智慧不如 heidenhain LB382C Id.Nr.315420-04 光学测量仪零件(读数头)
齐人有言曰虽有智慧不如 Contrinex UTS-1302-107
齐人有言曰虽有智慧不如 Rexroth 3DR16P5-5X/100Y/00M R900916666 液压阀
齐人有言曰虽有智慧不如 Stauff SPG063-00400-01-P-B04-U 压力表
齐人有言曰虽有智慧不如 IFM E10056 MOUNTING CLAMP IG
齐人有言曰虽有智慧不如 Turck BS4151-0/13.5 Nr:6904716 接头
齐人有言曰虽有智慧不如 APPOLDT GmbH PFE240D25-MS31XS 2011XS, 250VAC 10A 自动控制器
齐人有言曰虽有智慧不如 SMW 29795 防护器
齐人有言曰虽有智慧不如 balluff BES M30MM-PSC30F-S04K BES00AZ 接近开关
齐人有言曰虽有智慧不如 suco 0166-407-02-3-026 压力开关
齐人有言曰虽有智慧不如 AECO FT13-CF PNP NO oder NC 接近开关
齐人有言曰虽有智慧不如 OTT-JAKOB 9510135632 拉爪
齐人有言曰虽有智慧不如 Wilberg Z 141.001 编码器零件
齐人有言曰虽有智慧不如 BERNSTEIN SN2-SU1Z DGHW Nr:603.3371.004 感应传感器
齐人有言曰虽有智慧不如 IFM E10411 ESTGH040MSS00,5E04 (PG9)
齐人有言曰虽有智慧不如 Argus 3923-0008-58.91.36 球阀
齐人有言曰虽有智慧不如 Euchner RGBF02R16-502-M
齐人有言曰虽有智慧不如 Leuze FRKR 95/44-350 L
齐人有言曰虽有智慧不如 Funke 2.79*05.2.11-53.20.29 teile Nr 210 001 936 0 换热器
齐人有言曰虽有智慧不如 B&R Industrie-Elektronik GmbH 7CM211.7 混合模块
齐人有言曰虽有智慧不如 Vahle VS 1 NO.310050 JOINT CLAMP
齐人有言曰虽有智慧不如 hydac 0660 R 003 BN4HC 滤芯
齐人有言曰虽有智慧不如 PFLITSCH 22052d13 线缆气封栓
齐人有言曰虽有智慧不如 PILZ 773100 继电器
齐人有言曰虽有智慧不如 FLOWSERVE 70-VD 300333.999.000 阀门
齐人有言曰虽有智慧不如 FSG PW70d AN:1700Z04-065.117 电位器
齐人有言曰虽有智慧不如 DANFOSS 084B7086 控制器
齐人有言曰虽有智慧不如 SERTO 016.0200.060 SO 40020-6 接头
齐人有言曰虽有智慧不如 SCHUNK RPE 200-X0800-Y0800-Z500 381425
齐人有言曰虽有智慧不如 Leuze MLC500T40-900MG
齐人有言曰虽有智慧不如 ATOS PFE-31044/1DT 阀门
齐人有言曰虽有智慧不如 Sommer GD1708-SB 抓手
齐人有言曰虽有智慧不如 Contrinex DW-AV-513-M18-276
齐人有言曰虽有智慧不如 SCHUNK GmbH & Co. KG HKI 1A Id-no: 0324161 垫片
齐人有言曰虽有智慧不如 ATOS DLOH-3C-UX24DC 阀门
齐人有言曰虽有智慧不如 SCHUNK 0301032 MMS 22-S-M8-PNP 接近开关
齐人有言曰虽有智慧不如 hydac TFP104-000 压力传感器附件
齐人有言曰虽有智慧不如 SERTO 016.0200.060 SO 40020-6 接头
齐人有言曰虽有智慧不如 Euchner TP3-4141A024MC2184
齐人有言曰虽有智慧不如 NEXEN 800621 SEM-700*SHEAVE,3-5V,07.10 OD
齐人有言曰虽有智慧不如 Honsberg RRI-025GVQ160V10KNS 转子流量计
齐人有言曰虽有智慧不如 balluff SKI-FSA-M30-P-nb-x-pbt-y2 接近开关
齐人有言曰虽有智慧不如 Turck BI2-EG08K-AP6X-V1131 Nr:4669450 接近开关
齐人有言曰虽有智慧不如 PTR 015/G-D60-1.0N-AU-0.61C Art.Nr 610152072084 测试探针
齐人有言曰虽有智慧不如 M.D. Micro Detectors S.p.A. SSP/DP-1E 光电传感器
齐人有言曰虽有智慧不如 SICK 6036924 UM30-214118 光栅
齐人有言曰虽有智慧不如 Klaschka Nr.131430-001 SIDENT/B-22fv20-4O1 总线模块
齐人有言曰虽有智慧不如 hydac EDS348-5-250-000 压力开关
齐人有言曰虽有智慧不如 GANTER GN5335-40-M6-E 插销
齐人有言曰虽有智慧不如 GMW N11460 流量计配件
齐人有言曰虽有智慧不如 KSB SISTO-B PN10 DN050 ML108 TFM/PTFE 2-teilig (FDA) 膜片
齐人有言曰虽有智慧不如 ATOS KG-033/100 减压阀
齐人有言曰虽有智慧不如 HARTING 9340162701
齐人有言曰虽有智慧不如 GUTEKUNST D-063B 弹簧
齐人有言曰虽有智慧不如 parker PWS-M1012 压力开关
齐人有言曰虽有智慧不如 Rechner AF0127 KFA-1-1000-FL-Y70
齐人有言曰虽有智慧不如 Rexroth 3DMC060/0608820113 传感器
齐人有言曰虽有智慧不如 Murrelektronik GmbH 27116 继电器底座
齐人有言曰虽有智慧不如 HAUHINCO 6539408 电磁阀
齐人有言曰虽有智慧不如 Hengstler GEBER RI58-O/ 600EQ.42KD Nr.0550382 编码器
齐人有言曰虽有智慧不如 BIKON Bikon 2006 260*330 胀套
齐人有言曰虽有智慧不如 ALSTOM 029.356.519 通讯模块
齐人有言曰虽有智慧不如 Siba 2000113.16 感应传感器
齐人有言曰虽有智慧不如 HYDROTECHNIK 2103-01-18.00N 接头
齐人有言曰虽有智慧不如 UPAT UKA 3 M 16 接头
齐人有言曰虽有智慧不如 Turck ID:69710 接近开关附件
齐人有言曰虽有智慧不如 weidmueller HDC CM BUS 4BS,1814300000 接头
齐人有言曰虽有智慧不如 ATOS DLOH-3C-U 21 24DC 阀门
齐人有言曰虽有智慧不如 Contrinex DW-AD-602-065-120
齐人有言曰虽有智慧不如 Leuze CML720i-R40-2850.A/CV-M12
齐人有言曰虽有智慧不如 SCHENCK IN-081/3/080/100 压力传感器探头
齐人有言曰虽有智慧不如 hydac KH3-G1/2-L-3314-01x 702115 球阀
齐人有言曰虽有智慧不如 Leuze FRKR 97/4-100 L
齐人有言曰虽有智慧不如 Phoenix Nr.2963802 继电器
齐人有言曰虽有智慧不如 Gavazzi DPA03CM48
齐人有言曰虽有智慧不如 DOLD BD5987.03/201 DC24V 0044397 自动控制器
齐人有言曰虽有智慧不如 Turck WASS4-5/S366,NO:8019147 接头电缆
齐人有言曰虽有智慧不如 SIEMENS 3VL9300-8CA31 继电器
齐人有言曰虽有智慧不如 PAULY PP2441q/308/R153s/e2/Z3s/220VAC,supply:230VAC;Output:relay 继电器输出
齐人有言曰虽有智慧不如 FuehlerSysteme Artikel-Nr.: ST/E-40 插头
齐人有言曰虽有智慧不如 Turck BI3-G18-Y1X/S903 1009503 接近开关
齐人有言曰虽有智慧不如 dunkermotoren D554 SNR88943.04075 马达
齐人有言曰虽有智慧不如 HAMMELMANN GmbH 01.00739.0153 O型圈
齐人有言曰虽有智慧不如 El-O-Matic EL500 220/240V 50HZ 执行机构
齐人有言曰虽有智慧不如 Bürklin 91 F 662(100M) 接头
齐人有言曰虽有智慧不如 XECRO IHT30N15APC55/A2S 电感器
齐人有言曰虽有智慧不如 heidenhain 735117-52 编码器
齐人有言曰虽有智慧不如 CARLO RGC1A60D20KKE 继电器
齐人有言曰虽有智慧不如 COMAT CINT-52/UC24V
齐人有言曰虽有智慧不如 Bürklin 91 F 708(100M) 接头
齐人有言曰虽有智慧不如 Sommer-automatic GmbH & Co. KG MGP804N 工件夹具
齐人有言曰虽有智慧不如 LABOM GMBH CE6120-A1058-K1010-T110-H1 压力传感器
齐人有言曰虽有智慧不如 parker VAY175A06AA1 HR13023185 溢流阀
齐人有言曰虽有智慧不如 NELSON Art.-Nr. 87-07-27 O型圈
齐人有言曰虽有智慧不如 Vogel 248661 齿轮箱
齐人有言曰虽有智慧不如 Euchner TP4-4141A024SR11
齐人有言曰虽有智慧不如 ReSatron GmbH RSG10M13+12-G-3-V1-SS-H,Artikel :02.01.251334400 编码器
齐人有言曰虽有智慧不如 IFM AC1154 开关电源
齐人有言曰虽有智慧不如 west USB-SO 电缆
齐人有言曰虽有智慧不如 Phoenix 2746346, IBS ECO-LINK 总线模块
齐人有言曰虽有智慧不如 Contrinex DW-AD-623-C5
齐人有言曰虽有智慧不如 Clifford & Snell 204815 YL50/D50/A/RF/WR 报警指示灯
齐人有言曰虽有智慧不如 Beckhoff EL5101 总线模块
齐人有言曰虽有智慧不如 Rexroth R911308869;HLC01.1D-05M0-A-007-NNNN 电容器
齐人有言曰虽有智慧不如 Beckhoff Automation GmbH EL2008 模块
齐人有言曰虽有智慧不如 WEIDEMANN DBV20-E40-FM210-24 电磁阀
齐人有言曰虽有智慧不如 RAFI GmbH & Co. KG 9.10119.031/0000 权限锁开关
齐人有言曰虽有智慧不如 SCHUNK QUENTES 5, (MINI) 300760
齐人有言曰虽有智慧不如 Dauphin Art.-Nr.14593 球阀
齐人有言曰虽有智慧不如 Siba 2000013.25 感应传感器
齐人有言曰虽有智慧不如 SIEMENS 6DD1684-0GC0 电缆
单元测试与其他测试不同,单元测试可看作是编码??过了单元测试的代码才是已完成的代码,提交产品代码时也要同时提交测试代码。测试部门可以作一定程度的审核。
关于桩代码,单元测试应避免编写桩代码。桩代码就是用来代替某些代码的代码,例如,产品函数或测试函数调用了一个未编写的函数,可以编写桩函数来代替该被调用的函数,桩代码也用于实现测试隔离。采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。 这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍, 推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期, 而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。这才是真实意义上的进步,所以说完整计划下的单元测试是对时间的更高效的利用。而调试人员的不受控和散漫的工作方式只会花费更多的时间而取得很少的好处。
使用AdaTEST和Cantata这样的支持工具可以使单元测试更加简单和有效。但这不是必须的,单元测试即使是在没有工具支持的情况下也是一项非常有意义的活动。
它仅仅是证明这些代码做了什么
这是那些没有首先为每个单元编写一个详细的规格说明而直接跳到编码阶段的开发人员提出的一条普遍的抱怨, 当编码完成以后并且面临代码测试任务的时候,他们就阅读这些代码并找出它实际上做了什么,把他们的测试工作基于已经写好的代码的基础上。当然,他们无法证明任何事情。所有的这些测试工作能够表明的事情就是编译器工作正常。是的,他们也许能够抓住(希望能够)罕见的编译器Bug,但是他们能够做的仅仅是这些。
如果他们首先写好一个详细的规格说明,测试能够以规格说明为基础。代码就能够针对它的规格说明,而不是针对自身进行测试。这样的测试仍然能够抓住编译器的Bug,同时也能找到更多的编码错误,甚至是一些规格说明中的错误。好的规格说明可以使测试的质量更高,所以后的结论是高质量的测试需要高质量的规格说明。
在实践中会出现这样的情况: 一个开发人员要面对测试一个单元时只给出单元的代码而没有规格说明这样吃力不讨好的任务。你怎样做才会有更多的收获,而不仅仅是发现编译器的Bug?*步是理解这个单元原本要做什么, --- 不是它实际上做了什么。 比较有效的方法是倒推出一个概要的规格说明。这个过程的主要输入条件是要阅读那些程序代码和注释, 主要针对这个单元, 及调用它和被它调用的相关代码。画出流程图是非常有帮助的,你可以用手工或使用某种工具。 可以组织对这个概要规格说明的走读(Review),以确保对这个单元的说明没有基本的错误, 有了这种小程度的代码深层说明,就可以用它来设计单元测试了。
我是个很棒的程序员, 我是不是可以不进行单元测试?
在每个开发组织中都至少有一个这样的开发人员,他非常擅长于编程,他们开发的软件总是在*时间就可以正常运行,因此不需要进行测试。你是否经常听到这样的借口?
在真实世界里,每个人都会犯错误。即使某个开发人员可以抱着这种态度在很少的一些简单的程序中应付过去。 但真正的软件系统是非常复杂的。真正的软件系统不可以寄希望于没有进行广泛的测试和Bug修改过程就可以正常工作。
编码不是一个可以一次性通过的过程。在真实世界中,软件产品必须进行维护以对操作需求的改变作出反应, 并且要对初的开发工作遗留下来的Bug进行修改。你希望依靠那些原始作者进行修改吗? 这些制造出这些未经测试的原始代码的专业专家们还会继续在其他地方制造这样的代码。在开发人员做出修改后进行可重复的单元测试可以避免产生那些令人不快的负作用。
不管怎样,集成测试将会抓住所有的Bug 我们已经在前面的讨论中从一个侧面对这个问题进行了部分的阐述。这个论点不成立的原因在于规模越大的代码集成意味着复杂性就越高。如果软件的单元没有事*行测试,开发人员很可能会花费大量的时间仅仅是为了使软件能够运行,而任何实际的测试方案都无法执行。
单元测试与其他测试不同,单元测试可看作是编码??过了单元测试的代码才是已完成的代码,提交产品代码时也要同时提交测试代码。测试部门可以作一定程度的审核。
关于桩代码,单元测试应避免编写桩代码。桩代码就是用来代替某些代码的代码,例如,产品函数或测试函数调用了一个未编写的函数,可以编写桩函数来代替该被调用的函数,桩代码也用于实现测试隔离。采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。 这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍, 推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期, 而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。这才是真实意义上的进步,所以说完整计划下的单元测试是对时间的更高效的利用。而调试人员的不受控和散漫的工作方式只会花费更多的时间而取得很少的好处。
使用AdaTEST和Cantata这样的支持工具可以使单元测试更加简单和有效。但这不是必须的,单元测试即使是在没有工具支持的情况下也是一项非常有意义的活动。
它仅仅是证明这些代码做了什么
这是那些没有首先为每个单元编写一个详细的规格说明而直接跳到编码阶段的开发人员提出的一条普遍的抱怨, 当编码完成以后并且面临代码测试任务的时候,他们就阅读这些代码并找出它实际上做了什么,把他们的测试工作基于已经写好的代码的基础上。当然,他们无法证明任何事情。所有的这些测试工作能够表明的事情就是编译器工作正常。是的,他们也许能够抓住(希望能够)罕见的编译器Bug,但是他们能够做的仅仅是这些。
如果他们首先写好一个详细的规格说明,测试能够以规格说明为基础。代码就能够针对它的规格说明,而不是针对自身进行测试。这样的测试仍然能够抓住编译器的Bug,同时也能找到更多的编码错误,甚至是一些规格说明中的错误。好的规格说明可以使测试的质量更高,所以后的结论是高质量的测试需要高质量的规格说明。
在实践中会出现这样的情况: 一个开发人员要面对测试一个单元时只给出单元的代码而没有规格说明这样吃力不讨好的任务。你怎样做才会有更多的收获,而不仅仅是发现编译器的Bug?*步是理解这个单元原本要做什么, --- 不是它实际上做了什么。 比较有效的方法是倒推出一个概要的规格说明。这个过程的主要输入条件是要阅读那些程序代码和注释, 主要针对这个单元, 及调用它和被它调用的相关代码。画出流程图是非常有帮助的,你可以用手工或使用某种工具。 可以组织对这个概要规格说明的走读(Review),以确保对这个单元的说明没有基本的错误, 有了这种小程度的代码深层说明,就可以用它来设计单元测试了。
我是个很棒的程序员, 我是不是可以不进行单元测试?
在每个开发组织中都至少有一个这样的开发人员,他非常擅长于编程,他们开发的软件总是在*时间就可以正常运行,因此不需要进行测试。你是否经常听到这样的借口?
在真实世界里,每个人都会犯错误。即使某个开发人员可以抱着这种态度在很少的一些简单的程序中应付过去。 但真正的软件系统是非常复杂的。真正的软件系统不可以寄希望于没有进行广泛的测试和Bug修改过程就可以正常工作。
编码不是一个可以一次性通过的过程。在真实世界中,软件产品必须进行维护以对操作需求的改变作出反应, 并且要对初的开发工作遗留下来的Bug进行修改。你希望依靠那些原始作者进行修改吗? 这些制造出这些未经测试的原始代码的专业专家们还会继续在其他地方制造这样的代码。在开发人员做出修改后进行可重复的单元测试可以避免产生那些令人不快的负作用。
不管怎样,集成测试将会抓住所有的Bug 我们已经在前面的讨论中从一个侧面对这个问题进行了部分的阐述。这个论点不成立的原因在于规模越大的代码集成意味着复杂性就越高。如果软件的单元没有事*行测试,开发人员很可能会花费大量的时间仅仅是为了使软件能够运行,而任何实际的测试方案都无法执行。
单元测试与其他测试不同,单元测试可看作是编码??过了单元测试的代码才是已完成的代码,提交产品代码时也要同时提交测试代码。测试部门可以作一定程度的审核。
关于桩代码,单元测试应避免编写桩代码。桩代码就是用来代替某些代码的代码,例如,产品函数或测试函数调用了一个未编写的函数,可以编写桩函数来代替该被调用的函数,桩代码也用于实现测试隔离。采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。 这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍, 推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期, 而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。这才是真实意义上的进步,所以说完整计划下的单元测试是对时间的更高效的利用。而调试人员的不受控和散漫的工作方式只会花费更多的时间而取得很少的好处。
使用AdaTEST和Cantata这样的支持工具可以使单元测试更加简单和有效。但这不是必须的,单元测试即使是在没有工具支持的情况下也是一项非常有意义的活动。
它仅仅是证明这些代码做了什么
这是那些没有首先为每个单元编写一个详细的规格说明而直接跳到编码阶段的开发人员提出的一条普遍的抱怨, 当编码完成以后并且面临代码测试任务的时候,他们就阅读这些代码并找出它实际上做了什么,把他们的测试工作基于已经写好的代码的基础上。当然,他们无法证明任何事情。所有的这些测试工作能够表明的事情就是编译器工作正常。是的,他们也许能够抓住(希望能够)罕见的编译器Bug,但是他们能够做的仅仅是这些。
如果他们首先写好一个详细的规格说明,测试能够以规格说明为基础。代码就能够针对它的规格说明,而不是针对自身进行测试。这样的测试仍然能够抓住编译器的Bug,同时也能找到更多的编码错误,甚至是一些规格说明中的错误。好的规格说明可以使测试的质量更高,所以后的结论是高质量的测试需要高质量的规格说明。
在实践中会出现这样的情况: 一个开发人员要面对测试一个单元时只给出单元的代码而没有规格说明这样吃力不讨好的任务。你怎样做才会有更多的收获,而不仅仅是发现编译器的Bug?*步是理解这个单元原本要做什么, --- 不是它实际上做了什么。 比较有效的方法是倒推出一个概要的规格说明。这个过程的主要输入条件是要阅读那些程序代码和注释, 主要针对这个单元, 及调用它和被它调用的相关代码。画出流程图是非常有帮助的,你可以用手工或使用某种工具。 可以组织对这个概要规格说明的走读(Review),以确保对这个单元的说明没有基本的错误, 有了这种小程度的代码深层说明,就可以用它来设计单元测试了。
我是个很棒的程序员, 我是不是可以不进行单元测试?
在每个开发组织中都至少有一个这样的开发人员,他非常擅长于编程,他们开发的软件总是在*时间就可以正常运行,因此不需要进行测试。你是否经常听到这样的借口?
在真实世界里,每个人都会犯错误。即使某个开发人员可以抱着这种态度在很少的一些简单的程序中应付过去。 但真正的软件系统是非常复杂的。真正的软件系统不可以寄希望于没有进行广泛的测试和Bug修改过程就可以正常工作。
编码不是一个可以一次性通过的过程。在真实世界中,软件产品必须进行维护以对操作需求的改变作出反应, 并且要对初的开发工作遗留下来的Bug进行修改。你希望依靠那些原始作者进行修改吗? 这些制造出这些未经测试的原始代码的专业专家们还会继续在其他地方制造这样的代码。在开发人员做出修改后进行可重复的单元测试可以避免产生那些令人不快的负作用。
不管怎样,集成测试将会抓住所有的Bug 我们已经在前面的讨论中从一个侧面对这个问题进行了部分的阐述。这个论点不成立的原因在于规模越大的代码集成意味着复杂性就越高。如果软件的单元没有事*行测试,开发人员很可能会花费大量的时间仅仅是为了使软件能够运行,而任何实际的测试方案都无法执行。
单元测试与其他测试不同,单元测试可看作是编码??过了单元测试的代码才是已完成的代码,提交产品代码时也要同时提交测试代码。测试部门可以作一定程度的审核。
关于桩代码,单元测试应避免编写桩代码。桩代码就是用来代替某些代码的代码,例如,产品函数或测试函数调用了一个未编写的函数,可以编写桩函数来代替该被调用的函数,桩代码也用于实现测试隔离。采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。 这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍, 推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期, 而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。这才是真实意义上的进步,所以说完整计划下的单元测试是对时间的更高效的利用。而调试人员的不受控和散漫的工作方式只会花费更多的时间而取得很少的好处。
使用AdaTEST和Cantata这样的支持工具可以使单元测试更加简单和有效。但这不是必须的,单元测试即使是在没有工具支持的情况下也是一项非常有意义的活动。
它仅仅是证明这些代码做了什么
这是那些没有首先为每个单元编写一个详细的规格说明而直接跳到编码阶段的开发人员提出的一条普遍的抱怨, 当编码完成以后并且面临代码测试任务的时候,他们就阅读这些代码并找出它实际上做了什么,把他们的测试工作基于已经写好的代码的基础上。当然,他们无法证明任何事情。所有的这些测试工作能够表明的事情就是编译器工作正常。是的,他们也许能够抓住(希望能够)罕见的编译器Bug,但是他们能够做的仅仅是这些。
如果他们首先写好一个详细的规格说明,测试能够以规格说明为基础。代码就能够针对它的规格说明,而不是针对自身进行测试。这样的测试仍然能够抓住编译器的Bug,同时也能找到更多的编码错误,甚至是一些规格说明中的错误。好的规格说明可以使测试的质量更高,所以后的结论是高质量的测试需要高质量的规格说明。
在实践中会出现这样的情况: 一个开发人员要面对测试一个单元时只给出单元的代码而没有规格说明这样吃力不讨好的任务。你怎样做才会有更多的收获,而不仅仅是发现编译器的Bug?*步是理解这个单元原本要做什么, --- 不是它实际上做了什么。 比较有效的方法是倒推出一个概要的规格说明。这个过程的主要输入条件是要阅读那些程序代码和注释, 主要针对这个单元, 及调用它和被它调用的相关代码。画出流程图是非常有帮助的,你可以用手工或使用某种工具。 可以组织对这个概要规格说明的走读(Review),以确保对这个单元的说明没有基本的错误, 有了这种小程度的代码深层说明,就可以用它来设计单元测试了。
我是个很棒的程序员, 我是不是可以不进行单元测试?
在每个开发组织中都至少有一个这样的开发人员,他非常擅长于编程,他们开发的软件总是在*时间就可以正常运行,因此不需要进行测试。你是否经常听到这样的借口?
在真实世界里,每个人都会犯错误。即使某个开发人员可以抱着这种态度在很少的一些简单的程序中应付过去。 但真正的软件系统是非常复杂的。真正的软件系统不可以寄希望于没有进行广泛的测试和Bug修改过程就可以正常工作。
编码不是一个可以一次性通过的过程。在真实世界中,软件产品必须进行维护以对操作需求的改变作出反应, 并且要对初的开发工作遗留下来的Bug进行修改。你希望依靠那些原始作者进行修改吗? 这些制造出这些未经测试的原始代码的专业专家们还会继续在其他地方制造这样的代码。在开发人员做出修改后进行可重复的单元测试可以避免产生那些令人不快的负作用。
不管怎样,集成测试将会抓住所有的Bug 我们已经在前面的讨论中从一个侧面对这个问题进行了部分的阐述。这个论点不成立的原因在于规模越大的代码集成意味着复杂性就越高。如果软件的单元没有事*行测试,开发人员很可能会花费大量的时间仅仅是为了使软件能够运行,而任何实际的测试方案都无法执行。
单元测试与其他测试不同,单元测试可看作是编码??过了单元测试的代码才是已完成的代码,提交产品代码时也要同时提交测试代码。测试部门可以作一定程度的审核。
关于桩代码,单元测试应避免编写桩代码。桩代码就是用来代替某些代码的代码,例如,产品函数或测试函数调用了一个未编写的函数,可以编写桩函数来代替该被调用的函数,桩代码也用于实现测试隔离。采用由底向上的方式进行开发,底层的代码先开发并先测试,可以避免编写桩代码,这样做的好处有:减少了工作量;测试上层函数时,也是对下层函数的间接测试;当下层函数修改时,通过回归测试可以确认修改是否导致上层函数产生错误。
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。 这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍, 推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期, 而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。这才是真实意义上的进步,所以说完整计划下的单元测试是对时间的更高效的利用。而调试人员的不受控和散漫的工作方式只会花费更多的时间而取得很少的好处。
使用AdaTEST和Cantata这样的支持工具可以使单元测试更加简单和有效。但这不是必须的,单元测试即使是在没有工具支持的情况下也是一项非常有意义的活动。
它仅仅是证明这些代码做了什么
这是那些没有首先为每个单元编写一个详细的规格说明而直接跳到编码阶段的开发人员提出的一条普遍的抱怨, 当编码完成以后并且面临代码测试任务的时候,他们就阅读这些代码并找出它实际上做了什么,把他们的测试工作基于已经写好的代码的基础上。当然,他们无法证明任何事情。所有的这些测试工作能够表明的事情就是编译器工作正常。是的,他们也许能够抓住(希望能够)罕见的编译器Bug,但是他们能够做的仅仅是这些。
如果他们首先写好一个详细的规格说明,测试能够以规格说明为基础。代码就能够针对它的规格说明,而不是针对自身进行测试。这样的测试仍然能够抓住编译器的Bug,同时也能找到更多的编码错误,甚至是一些规格说明中的错误。好的规格说明可以使测试的质量更高,所以后的结论是高质量的测试需要高质量的规格说明。
在实践中会出现这样的情况: 一个开发人员要面对测试一个单元时只给出单元的代码而没有规格说明这样吃力不讨好的任务。你怎样做才会有更多的收获,而不仅仅是发现编译器的Bug?*步是理解这个单元原本要做什么, --- 不是它实际上做了什么。 比较有效的方法是倒推出一个概要的规格说明。这个过程的主要输入条件是要阅读那些程序代码和注释, 主要针对这个单元, 及调用它和被它调用的相关代码。画出流程图是非常有帮助的,你可以用手工或使用某种工具。 可以组织对这个概要规格说明的走读(Review),以确保对这个单元的说明没有基本的错误, 有了这种小程度的代码深层说明,就可以用它来设计单元测试了。
我是个很棒的程序员, 我是不是可以不进行单元测试?
在每个开发组织中都至少有一个这样的开发人员,他非常擅长于编程,他们开发的软件总是在*时间就可以正常运行,因此不需要进行测试。你是否经常听到这样的借口?
在真实世界里,每个人都会犯错误。即使某个开发人员可以抱着这种态度在很少的一些简单的程序中应付过去。 但真正的软件系统是非常复杂的。真正的软件系统不可以寄希望于没有进行广泛的测试和Bug修改过程就可以正常工作。
编码不是一个可以一次性通过的过程。在真实世界中,软件产品必须进行维护以对操作需求的改变作出反应, 并且要对初的开发工作遗留下来的Bug进行修改。你希望依靠那些原始作者进行修改吗? 这些制造出这些未经测试的原始代码的专业专家们还会继续在其他地方制造这样的代码。在开发人员做出修改后进行可重复的单元测试可以避免产生那些令人不快的负作用。
不管怎样,集成测试将会抓住所有的Bug 我们已经在前面的讨论中从一个侧面对这个问题进行了部分的阐述。这个论点不成立的原因在于规模越大的代码集成意味着复杂性就越高。如果软件的单元没有事*行测试,开发人员很可能会花费大量的时间仅仅是为了使软件能够运行,而任何实际的测试方案都无法执行。
法国PREVOST RPCMR0800 备件
法国PREVOST RPCMR0800 备件