Model-Based Testing: Black or White?
Google engEDU
1 hr – Aug 27, 2007
Google Tech Talks
August 27, 2007
Model-based testing can help to reduce the cost of testing and increase its effectiveness. Instead of designing test cases by hand, model-based testing allows a test engineer to automatically generate test cases from a model of the system under test.
After a brief overview of model-based testing, this talk will compare two different kinds of test model: black-box models and white-box models. Black-box models are easier for programmers to write and tools to use, while white-box models require more sophisticated notations and modelling skills, but can allow more sophisticated test generation.
These two styles of models will be illustrated by using two different model-based testing tools to test some example applications, such as a web-based library system. An open-source tool, ModelJUnit, will be used to illustrate test generation from several black-box test models written in Java. A commercial tool, LEIRIOS Test Designer, will be used to illustrate test generation from white-box test models written in UML
Speaker: Mark Utting
Mark Utting has been developing and using model-based testing tools since 2000. Recently, he co-authored the first industry-oriented book specifically on model-based testing, and developed the open-source ModelJUnit tool to illustrate some of the techniques in the book. He has also been a consultant for the design of commercial model-based testing tools, such as the LEIRIOS Test Designer from LEIRIOS Technologies.
Dr Utting works as an associate professor in the Department of Computer Science at The University of Waikato, New Zealand. Prior to this, he worked as an analyst/programmer in the Australian software industry for several years and as a postdoctoral researcher on theorem proving and real-time refinement. His PhD was in the area of refinement calculus techniques for object-oriented programs. He is a member of the IFIP Working Group 2.3 on Programming Methodology.
Home page: http://www.cs.waikato.ac.nz/~marku Read the rest of this entry »
Sphere: Related ContentAdvanced Python or Understanding Python
Google engEDU
1 hr 16 min – Feb 21, 2007
Google Tech Talks
February 21, 2007
The Python language, while object-oriented, is fundamentally different from both C++ and Java. The dynamic and introspective nature of Python allow for language mechanics unlike that of static languages. This talk aims to enlighten programmers new to Python about these fundamentals, the language mechanics that flow from them and how to effectively put those to use. Among the topics covered are duck-typing, interfaces, descriptors, decorators, metaclasses, reference-counting and the cyclic-garbage collector, the divide between C/C++ data and Python objects and the CPython implementation in general.
This talk is part of the Advanced Topics in Programming Languages series. The goal of this series is to encourage all of the people at Google who know and love programming languages to share their knowledge. If you would like information on upcoming talks, or to schedule a talk of your own, contact information is available on the wiki page: Read the rest of this entry »
Sphere: Related ContentCreating Tools for AJAX Development
Google engEDU
1 hr – May 3, 2006
Google TechTalks
May 3, 2006
Javier Pedemonte, IBM
Adam Peller, IBM
ABSTRACT
Tools for building HTML/Javascript and so-called AJAX-style applications are sparse. Mozilla has traditionally had the best tools in Venkman and its DOM Inspector, but recently development has been stagnant and these tools do not offer integration with active code development.
Newer tools like Firebug offer more clever tools to inspect pages but still have no role in the rest of the development cycle.
The Eclipse AJAX Toolkit Framework brings these types of tools into the Eclipse IDE — making use of the Java XPCOM to Java bridge and leveraging the robust features of Eclipse, while leaving the environment pluggable for more enhancements. The current work will be demonstrated and the architecture will be discussed, with particular attention to the JavaScript debugger and embedding of xulrunner. Read the rest of this entry »
Sphere: Related ContentAdvanced Topics In Programming Languages: Closures For Java
Google engEDU
1 hr 55 min – Jan 17, 2007
Google Tech Talks
January 17, 2007
We propose to add Closures to the Java Programming Language. Closures simplify the use of APIs that rely on anonymous class instances, such as the concurrency APIs and callbacks. More importantly, closures support control abstractions, which are APIs that act as programmer-defined control constructs. This talk describes the proposed language extension and its design rationale, and shows how it will affect existing and future APIs. Read the rest of this entry »
Sphere: Related ContentAdvanced Topics in Programming Languages: JSR-305: Java annotations For Defects
Google engEDU
1 hr 3 min – Aug 8, 2007
Google Tech Talks
August 8, 2007
Advanced Topics in Programming Languages: JSR-305: Java annotations for software defect detection
This talk will describe the current status of JSR-305, Java annotations for software defect detection. This JSR will define several standard Java annotations for properties such as @Nonnegative and @Nonnull that can be used to document your design intentions in a way that be interpreted by multiple software tools (such as FindBugs and IntelliJ). In addition, the talk (and JSR) will discuss the need for inherited and default JSR-305 annotations and propose a way to provide them.
We’ll also discuss our proposal to define meta-annotations, that allow anyone to define their own annotations (perhaps with associated validators) that will be treated as type qualifiers. For example, far too many old APIs use int’s or String’s where enums would have been a better choice. By defining a new type qualifier annotation, and annotating both the public static final fields that define the legal values and the parameters that require them, you can enforce a requirement that only the static fields are used to provide values to the parameters. Read the rest of this entry »
Sphere: Related Content