just java2007 - daniel wildt - tools for java test automation

22
Tools for Java test automation Daniel Wildt Software Developer [email protected] http://danielwildt.blogspot.com

Upload: daniel-wildt

Post on 05-Dec-2014

4.635 views

Category:

Technology


0 download

DESCRIPTION

Presentation from Just Java 2007, related to Tools For Java Test Automation

TRANSCRIPT

Page 1: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

Tools for Java test automation

Daniel Wildt Software [email protected]://danielwildt.blogspot.com

Page 2: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 2

Agenda

• Test is a form of art• Agile Methodologies and testing• White box testing techniques (Unit Testing)• Black box testing techniques (Functional)• Ensuring Quality in the test process with Test

Coverage• Applying Test Driven Development and

Continuous Integration• Final words• References• Links

Page 3: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 3

Test is a form of art• You need to verify development code without

seeing it (some times)• You need to ensure that requirements are

implemented in the same way they were defined• You need to embrace change (focus on

customer)• You need to test faster to deliver faster (short

cycles)• You need to apply quality while testing• You need to have a good coverage of

source/requirements while testing• You need to be creative while finding spots to

test

Page 4: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 4

Agile Methodologies and Testing

• Agile Methodologies are based on disciplines and practices that focus on principles like these (from Agile Manifesto principles):• Satisfy the customer as highest priority, through early and continuous

delivery of valuable software.• Business people and developers working together daily throughout the

project• Measure the progress of a project based on working software, its

primary measure• Self organizing teams, motivated individuals, communication and

simplicity as strong values• Technical excellence is wanted to enhance agility.• Continuous improvement, to tune and adjust teams to become more

effective.

Page 5: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 5

Agile Methodologies and Testing

Page 6: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 6

Agile Methodologies and Testing

Page 7: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 7

White box testing techniques (Unit Testing)

• Source grow together with source• TDD

�����

Page 8: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 8

White box testing techniques (Unit Testing)

• Easy integration for Business - FIT

Page 9: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 9

White box testing techniques (Unit Testing)

• You don’t have it?Mock!

public class ExampleTest {@Beforepublic void setup() {

mock = createMock(Collaborator.class);classUnderTest = new ClassUnderTest();classUnderTest.addListener(mock);

}@Testpublic void addDocument() {

mock.documentAdded("New Document");replay(mock);classUnderTest.addDocument("New Document",

new byte[0]);verify(mock);

}}

Page 10: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 10

Black box testing techniques (Functional)

• Functional TestSelenium IDE

Page 11: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 11

Black box testing techniques (Functional)

• Stress Testing• JMeter

Page 12: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 12

Ensuring Quality in the test process with Test Coverage

Page 13: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 13

Applying Test Driven Development and Continuous Integration

Page 14: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 14

Applying Test Driven Development and Continuous Integration

Page 15: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 15

Final words

• Always think about this:

VerificationX

Validation?

• More: check CMMI – Level 3

Page 16: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 16

Final words

http://www.ambysoft.com/essays/floot.html

Page 17: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 17

References

• Beck, Kent; Andres, Cynthia. Extreme Programming explained: embrace change. 2ªedition.

• Pressman, Roger S. Software Engineering.• Agile Manifesto

http://www.agilemanifesto.org

Page 18: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 18

References

• Tinkha, Andy; Kaner, Cem. Exploring Exploratory Testing. http://www.testingeducation.org/a/explore.pdf

• Scott Ambler essay about FLOOT. http://www.ambysoft.com/essays/floot.html

• Ciclomatic Complexity. http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html

Page 19: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 19

Links

• JUnit – Unit Testing• http://www.junit.org

• JMeter – Stress Testing• http://jakarta.apache.org/jmeter/

• Emma – Code Coverage• http://emma.sf.net

• Selenium –Functional testing• http://www.openqa.org/selenium/

• PMD – Code Audit• http://pmd.sf.net

Page 20: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 20

Links

• CheckStyle –Code Audit• http://checkstyle.sf.net

• Easy Mock• http://www.easymock.org/

• FIT• http://fit.c2.com/

• Lunt Build• http://luntbuild.javaforge.com/

• Cruise Control• http://confluence.public.thoughtworks.org/disp

lay/CC

Page 21: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 21

Questions?

Page 22: Just Java2007 - Daniel Wildt - Tools For Java Test Automation

������������ � ������������ �������� ��������������������� �� ������!� ����� 22

Thanks!