Instructed by: Ofir Erel Performed by: Adam Levi Marina Skarbovsky.

Slides:



Advertisements
Similar presentations
Win8 on Intel Programming Course Desktop : Sensors Cédric Andreolli Intel Software
Advertisements

Intel® performance analyze tools Nikita Panov Idrisov Renat.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Development of a visual studio plugin to visualize a Blocks-Graph
© by Pearson Education, Inc. All Rights Reserved.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Micro Focus Studio Micro Focus Studio Doug Evans GDT 2006 International User Conference: Evolving the Legacy – Revolutions June  Palm Springs,
CompuNet Grid Computing Milena Natanov Keren Kotlovsky Project Supervisor: Zvika Berkovich Lab Chief Engineer: Dr. Ilana David Spring, /
Reuse-1 CSE298 CSE300 CSE Distributed Object Computing Professor: Dr. Steven A. Demurjian Topic: Object Oriented Reuse Members: Xiaopei Wang, Hai.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Visual Studio: Custom debugger visualizers. Creating Debugger Visualizers with Visual Studio : Introduction Code debugging is one of the most important.
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Creating a Console Application with Visual Studio
Students: Nadia Goshmir, Yulia Koretsky Supervisor: Shai Rozenrauch Industrial Project Advanced Tool for Automatic Testing Final Presentation.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
1 ENG236: ENG236: C++ Programming Environment (2) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
A First Program Using C#
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
1 Sandcastle Documentation Compilers For Managed Class Libraries common) Enabling managed class library developers throughout the world to easily create.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Microsoft Visual Basic 2005: Reloaded Second Edition
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
A.NET desktop application and it’s future And solutions for command line application interoperability.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
IE 411/511: Visual Programming for Industrial Applications
StyleCop Breaking down the barriers to entry Gary Ewan Park Twitter: Blog:
Lecture 1 Programming in C# Introducing C# Writing a C# Program.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Scalable Game Development William Roberts Senior Game Engineer
Lecture Set 1 Part C: Understanding Visual Studio and.NET – Applications, Solutions, Projects (no longer used – embedded in Lecture Set 2A)
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files.
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Office Business Applications Workshop Defining Business Process and Workflows.
1 Chapter Nine Using GUI Objects and the Visual Studio IDE.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Introduction Amdocs’ clients line of work has to collect information from different, separated and independent devices, and each device has a lot of information.
 Programming - the process of creating computer programs.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Debugging COMP T1.
Chapter 1 Introduction Visual Basic.NET. Copyright (c) 2003 by Prentice Hall Provided By: Qasim Al-ajmi 2 Objectives Explain what Visual Basic is Contrast.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Visual Basic.Net. Software to Install Visual Studio 2005 Professional Edition (Requires Windows XP Pro) MSDN Library for Visual Studio 2005 Available.
“Port Monitor”: progress & open questions Torsten Wilde and James Kohl Oak Ridge National Laboratory CCA Forum Quarterly Meeting Santa Fe, NM ~ October.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Introduction ITEC 420.
Dive Into® Visual Basic 2010 Express
Outline SOAP and Web Services in relation to Distributed Objects
1. Introduction to Visual Basic
Outline SOAP and Web Services in relation to Distributed Objects
VISUAL BASIC.
Software Training Program for Dot Net. Software is the main source of income for most of the people in the present scenario. People opting computer based.
Windows Forms in Visual Studio 2005: An in-depth look at key features
Presentation transcript:

Instructed by: Ofir Erel Performed by: Adam Levi Marina Skarbovsky

Create a GUI designer for generating complex unit tests from existing ones, which will enable:  Loading assemblies that contain unit-test classes and displaying them to the user.  Choosing test-cases from the loaded list and using them as building blocks for new tests.  Specifying the execution flow of the constructed test: Execution order between inner test cases. Serial / Parallel execution of test cases. Delays between concurrently executed tests.  Setting test parameters for tests that require them.

 Compiling the new test into one (or both) of the following: A DLL that is test case – so that the constructed test can be reused as a building block in future tests. A DLL that is Test Fixture that wraps the test case – so that the constructed test can be run via Nunit.  Saving the tests for future usage.  Loading previously saved tests.

Microsoft’s.Net WinForms API was used to create the GUI. We also used several free open-source GUI components to simplify the development of the docking GUI, options forms and more. Reflection was used to enable: Identifying the test classes in a loaded assembly. Analyzing test parameter types. Generate new test cases and assemblies from the compounded tests. Object serialization was used to enable: Saving/loading tests for future use. Saving an instance of a test-case’ parameter to be used when executing a generated test-case Multithreading was used to enable creating tests with concurrency. Microsoft's XSD Object Generator was used for the creation of classes from XML Schemas. The Generator was used mostly at the start of the project, and later was abandoned due to the XSD Object Generator limitations.

UI:  Supports all the required functionality such as loading assemblies, building and compiling new tests, editing test parameters and properties, etc...  Additional windows including the Grid-Output and the Options form were added to provide a better experience for the user (although they were not required by KLA- Tencor).  A “Complete package” – includes keyboard shortcuts for useful operations, tool bar, icons and more.  All of the UI was built with Microsoft’s Visual Studio “In mind” with the help of Weifen Luo's DockSample, to make usage more intuitive to the “common” user.  Relatively long operations such as compilation and loads are executed in separate threads to avoid UI freezes.

The Properties Window  A special window that enables the user to edit properties of different objects.  Similar to the Properties window in Visual Studio.  The window wraps a PropertyGrid object  A component that is part of the.Net framework  Provides support for displaying and editing all data types used by KLA-Tencor.  Our use of the PropertyGrid makes it easy for KLA- Tencor to extend it’s support for additional data types.  The PropertyGrid is widely used and is a well documented component.

Compilation of new assemblies  Compilation of new assemblies is done with minimal ‘machine-generated’ code.  It is far easier to debug human written code.  Adding additional features to the application will require minimal (if any) interventions in the assembly-creation process.  Generating complex code might be slow.  Most of the generated test is actually an XML file that is embedded inside the generated assembly.  XML is human readable  Several assemblies are embedded in the generated assembly to reduce dependencies  Enables us to create a “One Package” assembly.

Saving/Loading  A test is saved as an XML file  The user can easily read and understand the generated file, if needed. Installer  An installer was made using the free “Bytessence InstallMaker”. Documentation provided  Users’ guide  Developers’ guide  An auto-generated code documentation  Generated Using Microsoft's “SandCastle” generator.  Has the familiar MSDN “Look and feel”.

When building a large system, good design is very important. Well worth the time investment. Using existing (free) source-code can save a lot of time and work. Integration with the target system is crucial even after the application went through thorough testing. The course is a good way to expose students to new technologies, gain some hands on experience with “real” software projects, get familiar with a project’s life-cycle and learn how to conduct oneself in a team.