STAC2015 講演3...

34

Click here to load reader

Transcript of STAC2015 講演3...

  • MSC

    PF

  • YJSier

    YJBtoBWeb

    Web

    40

    2011YJ

    C/C++/Java

  • BtoB

    WebSIer

  • 4P

    DSL (Spock) CI/CD,

  • typo

    - - - IDE

    - APIIF

    - APIIF

    - APIIF

    LL

    - -

  • - - -

    - - -

    - - -

  • typo

    C++ Java Scala

  • JavaWeb

    OSS

    (GC) (JIT)

  • CI/CD etc

    API

  • 16P

    A, B, C

    public class A {public void x() {

    B b = new B();b.y();

    }}

    public class B {public void y() {

    C c = new C();c.z();

    }}

    public class C {public void z() {

    DB}

    }

  • 17P

    public class A {public void x() {

    B b = new B();b.y();

    }}

    public class B {public void y() {

    C c = new C();c.z();

    }}

    public class C {public void z() {

    DB}

    }TestCaseA(A, B, C)

    Class AB, C

    TestCaseB(BC) TestCaseC

    ()

  • new

    Dependency Injection

  • 19PDI(JavaSpringFramwork)

    public class Aimplimplements A {

    @Autowiredprivate B b;

    public void x() {b.y();

    }}

    public class Bimplimplments B {

    @Autowiredprivate C c;

    public void y() {c.z();

    }}

    public class Cimplimplements C {

    public void z() {DB

    }}

    (Dependency)(Injection)

  • 20P

    public class Aimplimplements A {

    @Autowiredprivate B b;

    public void x() {b.y();

    }}

    AB

    class TestCaseA {def testA() {def a = new Aimpl()//a.b = Mock(B.class)//asserta.x()}

    }

  • new

    new

    DIOSS

    SpringFramework

  • DSLSpock

    JUnit JMock

    JUnitJavaJava

    JMock

  • SpockJunitJVMGroovy

    DSL()

    BDD

    GroovyJava

    Java

  • 24PSpock

    class SampleSTest extends Specification {def (#testname)() {given:def target = new SampleImpl()target.x = Mock(X.class)

    when:def result = x.update(request)

    then:assert result == response

    where:testname | request | responseA | foo1 | bar1B | foo2 | bar2

    }}

    given when then where

    Mock

    Groovy

  • CI/CD,

    CI/CD

    Clover

    Coverity

    Quality Advisor Test Advisor

  • Web(API)

    (APIIF)

  • IF

    API

    APIIF

    API

    APIIF

  • OSS

    Googole ProtocolBuffer Apache Thrift

    Java

  • IDLAPIIF

    APIIFIDL

    IDL

    2

    JSON

    Java

    Java

  • IFIDLCI/CDCoverity