Testing Tools and Techniques
|
|
|
- Magnus Bishop
- 10 years ago
- Views:
Transcription
1 Software Engineering 2005 Testing Tools and Techniques Martin Bravenboer Department of Information and Computing Sciences Universiteit Utrecht October 18,
2 Testing Automation Design your world so that you can t help but succeed Creating a no-fail environment Version Control Testing Automation Testing from Coding in Fear to Coding with Confidence 2
3 Testing Tools and Techniques 1. Unit Testing with JUnit 2. Mock Techniques 3. Domain Specific Unit Testing Tools 4. Code Coverage Analyzers 5. Continuous Integration Tools 6. Design for Testing 3
4 Categories of Tools (1) General purpose test frameworks JUnit NUnit Support libraries Mock Objects Domain-specific test frameworks HttpUnit XmlUnit JfcUnit Memory management analyzers Valgrind 4
5 Categories of Tools (2) Code coverage analysers Clover Emma Test generators jtest Stress Testing Tools LoadSim, JUnitPerf Static analysis Lint FindBugs Checkstyle 5
6 JUnit 6
7 xunit xunit Family Simplicity Define, run, and check Instance: JUnit Very simple: 5 classes in junit.framework Many extensions Instance: NUnit.NET Attributes 7
8 JUnit: Example import junit.framework.testcase; public class TestSimple extends TestCase { public TestSimple(String name) { super(name); } public void testsplitempty() { String[] result = " ".split("\\s+"); assertequals("should not produce a token", 0, result.length); } } public void testsplit2() { String[] result = "a bc ".split("\\s+"); assertequals("should be 2 tokens", 2, result.length); } 8
9 JUnit: Grouping Tests TestSuite addtest(test) addtestsuite(class) How to construct a Test? or new MyTest("testFoo") new MyTest("Some text") { public void runtest() { testfoo(); } } 9
10 JUnit: Grouping Tests public class TestFoo extends TestCase { } or: public TestFoo(String method) {... } public void testfoo() {... } public void testbar() {... } public static Test suite() { TestSuite result = new TestSuite(); result.addtest(new TestFoo("testFoo")); result.addtest(new TestFoo("testBar")); return result; } return new TestSuite(TestFoo.class); 10
11 JUnit: Grouping Tests Typical composition class: public class TestAll { public static Test suite() { TestSuite result = new TestSuite("All tests"); result.addtestsuite(testfoo.class); result.addtestsuite(testbar.class); return result; } } 11
12 JUnit: Running a Test TestRunner invokes suite method or constructs TestSuite Graphical $ java junit.swingui.testrunner Textual $ java junit.textui.testrunner 12
13 JUnit: Assertions Real testing checks results asserttrue, assertfalse assertequals assertsame assertnotnull fail Advice: Use assert* with a failure message. 13
14 JUnit: Fixture per Test private XMLReader reader; protected void setup() throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setnamespaceaware(true); factory.setvalidating(false); reader = factory.newsaxparser().getxmlreader(); } protected void teardown() { reader = null; } public void testfoo () throws Exception { reader.parse(new InputSource(new StringReader("<Foo/>"))); // I want to assert something :( } Fixture setup and teardown is performed for every test. 14
15 JUnit: Fixture per Suite TestSetup wrapper = new TestSetup(suite) { protected void setup() { onetimesetup(); } protected void teardown() { onetimeteardown(); } }; Don t use static initializers. Must be in static variables. 15
16 JUnit: (Excepted) Exceptions Not expected: don t catch, just throw! public void testread () throws IOException { StringReader reader = new StringReader("SWE!"); assertequals("first char must be S", reader.read(), S ); } Expected: try-fail-catch public void testlist () { List<String> list = new ArrayList<String>(); list.add("foo"); } try { String reuslt = list.get(1); fail("not a valid index."); } catch(indexoutofboundsexception exc) { asserttrue(true); } 16
17 JUnit: Best Practices (1) Make a test fail now and then Spring the Trap Keep tests independent No order guarantee Separate instances for every test Custom, domain-specific asserts Design test code. Production/Test : 50/50 Tests are not a list of statements. 17
18 JUnit: Best Practices (2) Test just one object Mock up related objects Write test back (asserts) first. Don t use the same value twice (1 + 1) Don t break encapsulation for testing. Test code in same package Use parallel source trees 18
19 JUnit: Best Practices (3) Do you need to search for a bug? Wrong! Write tests that reduce the amount of code where the problem might be. Test just one thing: Faulty code Test Never ever modify an existing to test a new situation Testing is not an end in itself 19
20 JUnit: More Automation Why not build in IDE? Poor automation, building from source, deployment Integrate in automated build process. <junit printsummary="yes" haltonfailure="yes"> <classpath> <path refid="project.cp"/> <pathelement location="${build.tests}"/> </classpath> <formatter type="plain"/> <test name="org.foo.testall" /> </junit> batchtest: compose tests in Ant 20
21 JUnit: Fancy Reports Formatter <junit...>... <formatter type="xml"/> <test todir="$builddir/reports"... > </junit> Report Generation <junitreport> <fileset dir="$builddir/reports"> <include name="test-*.xml"/> </fileset> <report todir="$builddir/reports/html"/> </junitreport> 21
22 JUnit: Further Reading Pragmatic Unit Testing in Java and JUnit JUnit in Action Java Open Source Programming with XDoclet, JUnit, WebWork, Hibernate 22
23 Mock Techniques 23
24 Mock Objects: Rationale Test just one thing Tests should focus. Be Independent. Faulty code Test But... What if code is not just one thing? Fake the other things! Mock objects 24
25 Use Mock Objects If... Behaviour that is beyond your control. Exceptional situations (difficult to reproduce) External resources (server, database) Lot of code to setup. Expensive, poor performance Reflection and interaction: How was code used? Non-existing code. 25
26 More difficult with state Solution: Test the Interactions Is the content type set? Is the temp directory method not invoked twice in a session? Is a topic scheduled for indexing? Is a stream closed? Almost impossible with state Is the request s pathinfo requested when ShowFile is invoked? Are the access flags checked when a topic is requested? Is the log function invoked with an error? Communicate with testcase instead of real code 26
27 Mock Object Generators At compile-time MockMaker MockCreator At runtime DynaMock jmock EasyMock Features Define Expectations Mock-ready implementations of standard libraries 27
28 Mock Objects: EasyMock Expectations as actual method calls! Mock Control Record and replay mode. Control, StrictControl, NiceControl MockControl methods getmock() replay(), verify() setreturnvalue setthrowable(...) (Crash Test Dummy) 28
29 EasyMock: Example 1 private XMLReader _reader; private MockControl _control; private ContentHandler _handler; protected void setup() throws Exception {... } _control = MockControl.createNiceControl(ContentHandler.class); _handler = (ContentHandler) _control.getmock(); _reader.setcontenthandler(_handler); public void testfoo () throws Exception { _handler.endelement("", "Foo", "Foo"); _control.replay(); } _reader.parse(new InputSource(new StringReader("<Foo/>"))); _control.verify(); 29
30 EasyMock: Example 2 protected void setup() throws Exception {... _control = MockControl.createStrictControl(ErrorHandler.class); _handler = (ErrorHandler) _control.getmock(); _reader.seterrorhandler(_handler); } public void testillegalfoo() throws Exception { _handler.fatalerror(null); _control.setmatcher(mockcontrol.always_matcher); _control.replay(); } try { _reader.parse(new InputSource(new StringReader("<foo></bar>"))); } catch(saxparseexception exc) { asserttrue(true); <--- } _control.verify(); 30
31 Mock Objects: Limitations Requires an interface: implementation must be substitutable. Design for Testing Example: test if a strong element is created. Use JDOMFactory Requires mock-ready libraries. Many libraries do not allow this kind of configuration. DynaMock: no type checking by compiler. DynaMock: verbose constraints and return values. Easy to break the real code: what does it use? 31
32 Mock Objects: Further Reading Endo Testing: Unit Testing with Mock Objects (XP2000) Mock Objects in Pragmatic Unit Testing Sample chapter available online 32
33 Domain Specific Tools 33
34 Some Popular JUnit Extensions Web Applications e.g. HttpUnit Performance e.g. JUnitPerf Integration e.g. Cactus (J2EE) GUI Applications e.g. JfcUnit XML Processing e.g. XML Unit 34
35 JUnitPerf: Test Decorators TimedTest Test testcase =... ; Test timedtest = new TimedTest(testCase, 2000); LoadTest Test testcase =... ; Test loadtest = new LoadTest(testCase, 25); RepeatedTest Test testcase =...; Test repeatedtest = new RepeatedTest(testCase, 10); Timer timer = new ConstantTimer(1000) Test loadtest = new LoadTest(repeatedTest, 25, timer); 35
36 XML Processing: XMLUnit Handy utils for XML, XPath, XSLT. XMLTestCase: assertxmlequal Identical / similar, meaningful diff messages Transform Easy to use in XSLT tests Validator Tools for DTD and Schema validation No longer maintained : ( 36
37 Parsing: ParseUnit testsuite Expressions topsort Exp test simple addition "2 + 3" -> Plus(Int("2"), Int("3")) test addition is left associative " " -> Plus(Plus(Int("1"), Int("2")), Int("3")) test multiplication has higher priority than addition "1 + 2 * 3" -> Plus(Int("1"), Mul(Int("2"), Int("3"))) test "x1" succeeds test "1x" fails 37
38 Testing Web Applications 38
39 Some Issues Security Resources protected? Unexpected input?... not generated by a browser? Validation of XHTML, CSS, JavaScript Check broken links Are files served correctly? (type) Does my caching mechanism work? Can you handle loads of users? 39
40 Unit Testing of Java Web Applications Servlet Unit Testing Mock objects for servlets container Servlet container: difficult to mock Mock Objects Framework implements servlet mocks In-Container Integration Testing Cactus (J2EE integration tests) Rather heavy-weight Functional Testing Simulate browser HttpUnit 40
41 Servlet Testing with Mock Objects Approach Mock the objects on which a servlet depends. Mock the servlet container. Implementation (mockobjects.com) MockHttpServletRequest Supports expectations e.g. request.setexpectederror(sc NOT FOUND) Verify: request.verify(); MockServletConfig MockServletInputStream... 41
42 Servlet Container Mock: (Dis)advantages Possible to mock the dependencies of servlets mock database mock logger to check if 404 was logged Tends to be close to functional testing Why not test at the client-side? Difficult to mock dependecies of servlet In general: Leave servlet specific environment as soon as possible. 42
43 HttpUnit: Functional Testing Automated functional tests No need for checking the site by hand. Targets programmers Simplicity. Just code. Well-designed web applications: Request/response is unit Possible to test Supports frames, forms, JavaScript, basic HTTP authentication, cookies and redirection. 43
44 HttpUnit: Hello World WebClient / WebConversation WebRequest WebResponse WebClient client = new WebConversation(); WebResponse response = client.getresponse(" WebLink link = response.getlinkwith("vision"); WebRequest request = link.getrequest(); Links: WebLink[] getlinks WebLink getlinkwith WebLink getlinkwithid WebLink getlinkwithimagetext 44
45 HttpUnit: Working with Forms Retrieving values from a form: WebForm form = response.getforms()[0]; assertequals("martin Bravenboer", form.getparametervalue("name")); assertequals("", form.getparametervalue("password")); assertequals("", form.getparametervalue("password2")); Submitting a form: form.setparameter("name", "Martin Bravenboer"); form.setparameter("password", "foobar"); form.setparameter("password2", "foobar"); form.sumbit(); 45
46 Testing Web Applications: Further Reading Testing a Servlet in Mock Objects in Pragmatic Unit Testing Unit Testing Servlets and Filters in JUnit in Action In-container Testing with Cactus in JUnit in Action Functional Testing with HttpUnit in Java Tools for Extreme Programming 46
47 Code Coverage Analyzers 47
48 Code Coverage Analysis How well is the code exercised? Improving Coverage Write more tests Refactoring: Eliminate duplication, more reuse Implementations Clover Closed Source. Free for non commercial use JCoverage GPL/Closed Source Quilt Open Source Emma Open Source Coverlipse Open Source
49 Clover: Example 49
50 Clover: Example 50
51 Coverlipse: Example 51
52 Continuous Integration Tools 52
53 Continuous Integration Tools Types of Automation Commanded Automation Scheduled Automation Triggered Automation Integrate components as early and often as possible. Server monitors repository Avoid big bang integration Requires Automated build process Automated distribution process Automated deploy process 53
54 Continuous Integration: Implementations CruiseControl (for Java) Maven Continuum AntHill Daily Build System Nix Buildfarm... 54
55 AntHill Continuous Integration Handle multiple projects and their dependencies Time-based build scheduler (instead of commit push) Daily Build System Shell-based builders and checkout Time-based schedular (by name daily) Maven Continuum New project, currently time-based scheduling Bad experience with time-based scheduling. 55
56 Continuous Integration: CruiseControl Repeated builds Build jobs implemented in Ant Trigger: modification checks CVS, Subversion, VSS, file system, HTTP and more. Publishers Status, , SCP, FTP Limitations SCM logic in build files No managing of dependencies (Maven is supported) 56
57 Nix Buildfarm Based on Nix: Full description of dependencies and their configuration Functional abstraction: variants Caching for free Builders: arbitrary: shell,... Distributed builds Building RPMs in User-Mode Linux Tiggers: Subversion, HTTP/FTP only Builders: abstractions targeted at GNU packages. Lack of status interface (student working on that) 57
58 Nix Buildfarm: Example rec { trunkrelease = release "gw-server-trunk" inputs.gwtrunk; storagerelease = release "gw-server-storage" inputs.gwstorage; blogrelease = release "gw-server-blog" inputs.gwblog; } release = name : input : let { body = makereleasepage { fullname = "Generalized Wiki Server"; sourcetarball = mytarbuild; nixbuilds = [ server.body ]; nodistbuilds = [ server.gw ];... }... }; 58
59 Nix Buildfarm: Example rec { headrelease = release "bibtex-tools" std.head inputs.bibtextoolshead; branch014release = release "bibtex-tools for Stratego/XT 0.14" std.release_014 inputs.bibtextoolsbranch014; } release = fullname : for : input : for.release { inherit input distbaseurl fullname; morebuildinputs = base : [base.pkgs.hevea base.pkgs.tetex]; moreinputs = base : { withhevea = base.pkgs.hevea; }; }; withlatex = base.pkgs.tetex; 59
60 Continuous Integration: Further Reading Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications Excerpts available Continuous Integration (Martin Fowler) 60
61 Design for Testing 61
62 Design for Testing Your code sucks if it isn t testable Separation of concerns Separate, independent tests Faulty code easier to identify Design for flexibility. Dave Astels, an Artima Blogger Testing requires different implementations Unit testing improves the design of code Small methods Reduction of side effects More explicit arguments 62
63 Design for Testing: Inversion of Control aka Dependency Injection, Tell, Don t Ask new SomeComponentB(...) inside ComponentA is bad Connecting components Don t let objects collect their own stuff Push versus pull Container/Context: the container sets everything an object needs Allows replacement with a Mock. 63
64 Design for Testing: Reduce Coupling No static singletons Cannot be replaced Might not be cleared while running several tests Use factories instead of explicit instantiation Example: JDOMFactory Scope: process, thread, session Law of Demeter Method target restricted to local or global objects Makes it easier to mock dependencies 64
65 Design for Testing: Gateway Encapsulate access to external systems and resources Libraries Services Databases Implementation Create an API for your usage Translate into external resource invocation Use Separated Interface Compare to Law of Demeter Service Stub implementation (Mock) 65
66 Design for Testing: Further Reading Patterns of Enterprise Application Architecture Tell, Don t Ask Law of Demeter Design Patterns: Elements of Reusable Object-Oriented Software 66
Effective unit testing with JUnit
Effective unit testing with JUnit written by Eric M. Burke [email protected] Copyright 2000, Eric M. Burke and All rights reserved last revised 12 Oct 2000 extreme Testing 1 What is extreme Programming
Software Development Tools
Software Development Tools COMP220/COMP285 Sebastian Coope More on Automated Testing and Continuous Integration These slides are mainly based on Java Tools for Extreme Programming R.Hightower & N.Lesiecki.
Unit Testing JUnit and Clover
1 Unit Testing JUnit and Clover Software Component Technology Agenda for Today 2 1. Testing 2. Main Concepts 3. Unit Testing JUnit 4. Test Evaluation Clover 5. Reference Software Testing 3 Goal: find many
Table of Contents. LESSON: The JUnit Test Tool...1. Subjects...2. Testing 123...3. What JUnit Provides...4. JUnit Concepts...5
Table of Contents LESSON: The JUnit Test Tool...1 Subjects...2 Testing 123...3 What JUnit Provides...4 JUnit Concepts...5 Example Testing a Queue Class...6 Example TestCase Class for Queue...7 Example
Unit Testing. and. JUnit
Unit Testing and JUnit Problem area Code components must be tested! Confirms that your code works Components must be tested t in isolation A functional test can tell you that a bug exists in the implementation
Professional Java Tools for Extreme Programming. Ant, XDoclet, JUnit, Cactus, and Maven
Brochure More information from http://www.researchandmarkets.com/reports/2246744/ Professional Java Tools for Extreme Programming. Ant, XDoclet, JUnit, Cactus, and Maven Description: What is this book
Chapter 1: Web Services Testing and soapui
Chapter 1: Web Services Testing and soapui SOA and web services Service-oriented solutions Case study Building blocks of SOA Simple Object Access Protocol Alternatives to SOAP REST Java Script Object Notation
Test Driven Development
Software Development Best Practices Test Driven Development http://www.construx.com 1999, 2006 Software Builders Inc. All Rights Reserved. Software Development Best Practices Test Driven Development, What
http://www.wakaleo.com [email protected] Java Software Quality Tools and techniques
Wakaleo Consulting O p t i m i z i n g y o u r s o f t w a r e d e v e l o p m e n t http://www.wakaleo.com [email protected] Java Software Quality Tools and techniques 1 Introduction Agenda tools
JUnit. Introduction to Unit Testing in Java
JUnit Introduction to Unit Testing in Java Testing, 1 2 3 4, Testing What Does a Unit Test Test? The term unit predates the O-O era. Unit natural abstraction unit of an O-O system: class or its instantiated
Software Construction
Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration
Author: Sascha Wolski Sebastian Hennebrueder http://www.laliluna.de/tutorials.html Tutorials for Struts, EJB, xdoclet and eclipse.
JUnit Testing JUnit is a simple Java testing framework to write tests for you Java application. This tutorial gives you an overview of the features of JUnit and shows a little example how you can write
UNIT TESTING. Written by Patrick Kua Oracle Australian Development Centre Oracle Corporation
UNIT TESTING Written by Patrick Kua Oracle Australian Development Centre Oracle Corporation TABLE OF CONTENTS 1 Overview..1 1.1 Document Purpose..1 1.2 Target Audience1 1.3 References.1 2 Testing..2 2.1
Beyond Unit Testing. Steve Loughran Julio Guijarro HP Laboratories, Bristol, UK. steve.loughran at hpl.hp.com julio.guijarro at hpl.hp.
Beyond Unit Testing Steve Loughran Julio Guijarro HP Laboratories, Bristol, UK steve.loughran at hpl.hp.com julio.guijarro at hpl.hp.com Julio Guijarro About Us Research scientist at HP Laboratories on
Approach of Unit testing with the help of JUnit
Approach of Unit testing with the help of JUnit Satish Mishra [email protected] About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality
Build management & Continuous integration. with Maven & Hudson
Build management & Continuous integration with Maven & Hudson About me Tim te Beek [email protected] Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository
Web Applications Testing
Web Applications Testing Automated testing and verification JP Galeotti, Alessandra Gorla Why are Web applications different Web 1.0: Static content Client and Server side execution Different components
Tools for Integration Testing
Tools for Integration Testing What is integration ing? Unit ing is ing modules individually A software module is a self-contained element of a system Then modules need to be put together to construct the
Continuous Integration
Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener [email protected] Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My
Unit Testing and JUnit
Unit Testing and JUnit Testing Objectives Tests intended to find errors Errors should be found quickly Good test cases have high p for finding a yet undiscovered error Successful tests cause program failure,
Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd
Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History
JUnit - A Whole Lot of Testing Going On
JUnit - A Whole Lot of Testing Going On Advanced Topics in Java Khalid Azim Mughal [email protected] http://www.ii.uib.no/~khalid Version date: 2006-09-04 ATIJ JUnit - A Whole Lot of Testing Going On 1/51
soapui Product Comparison
soapui Product Comparison soapui Pro what do I get? soapui is a complete TestWare containing all feautres needed for Functional Testing of your SOA. soapui Pro has added aditional features for the Enterprise
Java course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
Continuous Integration Multi-Stage Builds for Quality Assurance
Continuous Integration Multi-Stage Builds for Quality Assurance Dr. Beat Fluri Comerge AG ABOUT MSc ETH in Computer Science Dr. Inform. UZH, s.e.a.l. group Over 8 years of experience in object-oriented
Test-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg [email protected] Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
SOA Solutions & Middleware Testing: White Paper
SOA Solutions & Middleware Testing: White Paper Version 1.1 (December 06, 2013) Table of Contents Introduction... 03 Solutions Testing (Beta Testing)... 03 1. Solutions Testing Methods... 03 1.1 End-to-End
Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.
1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract
Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo
Java Power Tools John Ferguson Smart ULB Darmstadt 1 PI O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword Preface Introduction xvii xix xxxiii Parti. Build
Licensed for viewing only. Printing is prohibited. For hard copies, please purchase from www.agileskills.org
Unit Test 301 CHAPTER 12Unit Test Unit test Suppose that you are writing a CourseCatalog class to record the information of some courses: class CourseCatalog { CourseCatalog() { void add(course course)
Software infrastructure for Java development projects
Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical
JAVA/J2EE DEVELOPER RESUME
1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract
A Practical Guide to Test Case Types in Java
Software Tests with Faktor-IPS Gunnar Tacke, Jan Ortmann (Dokumentversion 203) Overview In each software development project, software testing entails considerable expenses. Running regression tests manually
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
Capabilities of a Java Test Execution Framework by Erick Griffin
Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing
We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and
We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a
Unit testing with JUnit and CPPUnit. Krzysztof Pietroszek [email protected]
Unit testing with JUnit and CPPUnit Krzysztof Pietroszek [email protected] Old-fashioned low-level testing Stepping through a debugger drawbacks: 1. not automatic 2. time-consuming Littering code
Security Testing Web Applications throughout Automated Software Tests
Security Testing Web Applications throughout Automated Software Tests Stephen de Vries [email protected] Corsaire Ltd. 3 Tannery House, Tannery Lane, Send, Surrey GU23 7EF United Kingdom Abstract.
Delivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make
CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira
CSE 70: Software Development Pipeline Version Control with Subversion, Continuous Integration with Bamboo, Issue Tracking with Jira Ingolf Krueger Department of Computer Science & Engineering University
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
GUI Test Automation How-To Tips
www. routinebot.com AKS-Labs - Page 2 - It s often said that First Impression is the last impression and software applications are no exception to that rule. There is little doubt that the user interface
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Test Automation Integration with Test Management QAComplete
Test Automation Integration with Test Management QAComplete This User's Guide walks you through configuring and using your automated tests with QAComplete's Test Management module SmartBear Software Release
+ Introduction to JUnit. IT323 Software Engineering II By: Mashael Al-Duwais
1 + Introduction to JUnit IT323 Software Engineering II By: Mashael Al-Duwais + What is Unit Testing? 2 A procedure to validate individual units of Source Code Example: A procedure, method or class Validating
Maven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures
Maven the Beautiful City Healthy, Viable, and Productive Build Infrastructures What is Maven? Build tool Similar to Ant but fundamentally different which we will discuss later Dependency management tool
Kevin Lee Technical Consultant [email protected]. As part of a normal software build and release process
Agile SCM: Realising Continuous Kevin Lee Technical Consultant [email protected] Agenda What is Continuous? Continuous in Context As part of a normal software build and release process Realising Continuous
Content. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
SDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
IT6503 WEB PROGRAMMING. Unit-I
Handled By, VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203. Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Mr. K. Ravindran, A.P(Sr.G)
Testing, Debugging, and Verification
Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software Systems @georgebarnett
Automated performance testing using Maven & JMeter George Barnett, Atlassian Software Systems @georgebarnett Create controllable JMeter tests Configure Maven to create a repeatable cycle Run this build
Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.
Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test. 01 39 20 13 55 [email protected] www.precilog.com End to End Process Testing & Validation:
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Slides prepared by : Farzana Rahman TESTING WITH JUNIT IN ECLIPSE
TESTING WITH JUNIT IN ECLIPSE 1 INTRODUCTION The class that you will want to test is created first so that Eclipse will be able to find that class under test when you build the test case class. The test
Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012
Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development
Basic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
Automated Web Testing with Selenium
Automated Web Testing with Selenium Erik Doernenburg ThoughtWorks Agenda What is Selenium? Writing Maintainable Tests What is Selenium? Test tool for web applications Java, C#, Perl, Python, Ruby Lives
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
Evaluation of Load/Stress tools for Web Applications testing
May 14, 2008 Whitepaper Evaluation of Load/Stress tools for Web Applications testing CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: [email protected] web: www.hsc.com PROPRIETARY
Introduction to unit testing with Java, Eclipse and Subversion
Introduction to unit testing with Java, Eclipse and Subversion Table of Contents 1. About Unit Tests... 2 1.1. Introduction... 2 1.2. Unit tests frameworks... 3 2. A first test class... 4 2.1. Problem
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
TESTING WITH JUNIT. Lab 3 : Testing
TESTING WITH JUNIT Lab 3 : Testing Overview Testing with JUnit JUnit Basics Sample Test Case How To Write a Test Case Running Tests with JUnit JUnit plug-in for NetBeans Running Tests in NetBeans Testing
ESB Features Comparison
ESB Features Comparison Feature wise comparison of Mule ESB & Fiorano ESB Table of Contents A note on Open Source Software (OSS) tools for SOA Implementations... 3 How Mule ESB compares with Fiorano ESB...
Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
Software Quality Exercise 2
Software Quality Exercise 2 Testing and Debugging 1 Information 1.1 Dates Release: 12.03.2012 12.15pm Deadline: 19.03.2012 12.15pm Discussion: 26.03.2012 1.2 Formalities Please submit your solution as
Build Management. Context. Learning Objectives
Build Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design
Effective feedback from quality tools during development
Effective feedback from quality tools during development EuroSTAR 2004 Daniel Grenner Enea Systems Current state Project summary of known code issues Individual list of known code issues Views targeted
Unit Testing with FlexUnit. by John Mason [email protected]
Unit Testing with FlexUnit by John Mason [email protected] So why Test? - A bad release of code or software will stick in people's minds. - Debugging code is twice as hard as writing the code in the
Development Environment and Tools for Java. Brian Hughes IBM
Development Environment and Tools for Java Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they
Web Frameworks and WebWork
Web Frameworks and WebWork Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request, HttpServletResponse
Designing with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
Tutorial for Creating Resources in Java - Client
Tutorial for Creating Resources in Java - Client Overview Overview 1. Preparation 2. Creation of Eclipse Plug-ins 2.1 The flight plugin 2.2 The plugin fragment for unit tests 3. Create an integration test
Mastering Tomcat Development
hep/ Mastering Tomcat Development Ian McFarland Peter Harrison '. \ Wiley Publishing, Inc. ' Part I Chapter 1 Chapter 2 Acknowledgments About the Author Introduction Tomcat Configuration and Management
Agile Web Service and REST Service Testing with soapui
Agile Web Service and REST Service Testing with soapui Robert D. Schneider Principal Think88 Ventures, LLC [email protected] www.think88.com/soapui Agenda Introduction Challenges of Agile Development
Finally, an agile test strategy (that works)! AS OW Test Model, Objectware
Finally, an agile test strategy (that works)! AS OW Test Model, Objectware Who is Erik Drolshammer? Consultant Objectware AS [email protected] Master in Computer Science from NTNU Master thesis
White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems
White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service
Test-Driven Development
(c) Christoph Steindl Test-Driven Development 1 Test-Driven Development Dr. Christoph Steindl Senior IT Architect and Method Exponent Certified ScrumMaster [email protected] Copyright Notice
Introduction to C Unit Testing (CUnit) Brian Nielsen Arne Skou
Introduction to C Unit Testing (CUnit) Brian Nielsen Arne Skou {bnielsen ask}@cs.auc.dk Unit Testing Code that isn t tested doesn t work Code that isn t regression tested suffers from code rot (breaks
PHPUnit Manual. Sebastian Bergmann
PHPUnit Manual Sebastian Bergmann PHPUnit Manual Sebastian Bergmann Publication date Edition for PHPUnit 3.4. Updated on 2010-09-19. Copyright 2005, 2006, 2007, 2008, 2009, 2010 Sebastian Bergmann This
Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID
1 Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net Session ID 2 What s GlassFish v3? JavaEE 6 API for REST (JAX-RS) Better web framework support (Servlet 3.0) WebBeans,
Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)
Open EMS Suite O&M Agent Functional Overview Version 1.2 Nokia Siemens Networks 1 (18) O&M Agent The information in this document is subject to change without notice and describes only the product defined
Applets, RMI, JDBC Exam Review
Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java
This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.
20486B: Developing ASP.NET MVC 4 Web Applications Course Overview This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications. Course Introduction Course Introduction
No no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
Best Practices for Java Projects Horst Rechner
Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,
Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester
Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features
Model-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
RUnit - A Unit Test Framework for R
RUnit - A Unit Test Framework for R Thomas König, Klaus Jünemann, and Matthias Burger Epigenomics AG November 5, 2015 Contents 1 Introduction 2 2 The RUnit package 4 2.1 Test case execution........................
Global Software Change Management for PVCS Version Manager
Global Software Change Management for PVCS Version Manager... www.ikanalm.com Summary PVCS Version Manager is considered as one of the leading versioning tools that offers complete versioning control.
