深度解读TDD和精准测试-张涛
如果无法正常显示,请先停止浏览器的去广告插件。
1.
2. 2004
MTC
2004-2005
2005-2011
2011-2018
2018-Now
DevOps
3.
4.
5. § TDD
Development
TDD
TDD
UTDD Unit Test Driven
ATDD Acceptance Test Driven Development
u TDD
u TDD
u TDD
XP
Extreme Programming
6. UTDD
Dev
ATDD
ATDD
QA
Dev
BDD
BDD
BDD
TDD
BDD
ATDD
given/when/then
7. TDD
Example
QA
bug
QA
debug
...
8. D
D
9. u
unit test
u
u
unit test
10. Bug
Bug
5
0
Bug
0
11. 9
41
6
%
0 3
12.
13. TDD
p
TDD
p
p
p
TDD
Mock
UT
14. ü
ü
15. l
16. l
/
N
Y
17. ü
ü
ü
18. l
l
ü
ü
URL
ü
ü
/
l
ü
ü
ü
ü
ü
19. l
20. l
/
l
ü Blocker==0
ü Critical
<5
l
ü 100%
21. Ø
20%è70%
>85%
ü
ü
Ø
ü
ü
ü
/
Ø
ü
ü
case
9 è0
22.
23.
24. f
i
i
i
Q
K --
K
K --
Q
?
2
R
3
1
D 1
2
?
d
i
,
: x
1
1
3
K
>
23
K
1
O
1
A
K
..
25. çè
case
UI
case
26. JavaParser
+
+
case
211 case
130
case
case
38%
27. -
-
-
28. Ø
java-callgraph
l
jar
l
jvm
Javacg-static
Java-
callgraph
Javacg-
dynamic
Java-agent
29. Ø ASM
class
30. 1
2
3
java-callgraph
Spring MVC
Interface-Mehtod
method-method
RequestMapping
DSF
mapping
31. DBMS
Neo4j
,
l
l
l
Properties
Node
{
"name":
"/api/v1/elephant/cindex/batch/getByTidAndDataId.do",
"project": "elephant"
}
32. Ø
l
l
l
Ø
4
ed
-
--
I
f
X
g
l
C jbmaster-javacg-to-
neo4j
k
a
l
C jb
-
-
C
C
k
l
g
i c
h
33.
34. 70% +
Ø
Ø
90%
+
35.