CS4272 Hardware-Software Co-design Assignment 2 School of Computing National University of Singapore Guo Liang.

Slides:



Advertisements
Similar presentations
COP 3530 JDK Environment Variables. COP 3530 JDK Environment Variables Environment Variables Environment variables are a set of dynamic values that can.
Advertisements

Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Performance Testing - Kanwalpreet Singh.
Kyle Thurow, Kyle Neuschaefer, Alexander Matusiak, and Justin Carroll.
Android architecture overview
T ESTING WITH J UNIT IN E CLIPSE Farzana Rahman. I NTRODUCTION The class that you will want to test is created first so that Eclipse will be able to find.
1 CS100J 1 February Customizing a class & testing Quote for the day: There is no reason anyone would want a computer in their home. - -Ken Olson,
Fall 2007CS 2251 Programming Tools Eclipse JUnit Testing make and ant.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
1 Programming Languages Translation  Lecture Objectives:  Be able to list and explain five features of the Java programming language.  Be able to explain.
Useful Tools for Testing
Java PAL.  Contains the development kit and the runtime environment ( aka the Java Virtual Machine )  Download Link:
Module 2: Using Transact-SQL Querying Tools. Overview SQL Query Analyzer Using the Object Browser Tool in SQL Query Analyzer Using Templates in SQL Query.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
INTRODUCTION TO PROGRAMMING STRUCTURE Chapter 4 1.
Redes Inalámbricas Máster Ingeniería de Computadores 2008/2009 Tema 7.- CASTADIVA PROJECT Performance Evaluation of a MANET architecture.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training course describes how to configure the the C/C++ compiler options.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
2006/09/19AOAsia 21 Towards Locating a Functional Concern Based on a Program Slicing Technique Takashi Ishio 1,2, Ryusuke Niitani 2 and Katsuro Inoue 2.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Testing in Extreme Programming
Linux Operations and Administration
Programming in Java Unit 4. Learning outcome:  LO2: Be able to design Java solutions  LO3: Be able to implement Java solutions Assessment criteria:
CPSC 233 Run graphical Java programs remotely on Mac and Windows.
Microsoft Office Outlook 2013 Microsoft Office Outlook 2013 Courseware # 3252 Lesson 6: Organizing Information.
Methods F Hello World! F Java program compilation F Introducing Methods F Declaring Methods F Calling Methods F Passing Parameters by value F Overloading.
Static Methods. 2 Objectives Look at how to build static (class) methods Study use of methods calling, parameters, returning values Contrast reference.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Saving Work to Your School Server Click through this presentation at your own speed. Use it as a review or a guide while saving a project.
CS4272 Hardware-Software Co-design Assignment 1 School of Computing National University of Singapore Guo Liang.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Pengantar OOP Class-Java. 2 Software Development Tools Using Sun Java SDK alone Source File(s) (.java) Programmer Compiler (javac) Class File(s) (.class)
Microsoft FrontPage 2003 Illustrated Complete Integrating a Database with a Web Site.
Eclipse Project. Installing Visit to download a copy for your home computerhttp:// –Get Release version 3.0 (or.
JDBC CS 260 Database Systems. Overview  Introduction  JDBC driver types  Eclipse project setup  Programming with JDBC  Prepared statements  SQL.
introductory lecture on java programming
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
® IBM Software Group © 2006 IBM Corporation Rational Asset Manager v7.2 Using Scripting Tutorial for using command line and scripting using Ant Tasks Carlos.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
Autodesk Inventor 2011 Essentials Plus Instructor’s Name.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Enabling Control over Adaptive Program Transformation for Dynamically Evolving Mobile Software Validation Mike Jochen, Anteneh Anteneh, Lori Pollock University.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Let's build a VMM service template from A to Z in one hour Damien Caro Technical Evangelist Microsoft Central & Eastern Europe
CS223: Software Engineering Lecture 26: Software Testing.
Test Case Purification for Improving Fault Localization presented by Taehoon Kwak SoftWare Testing & Verification Group Jifeng Xuan, Martin Monperrus [FSE’14]
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
John Lloyd, Edgewater Fullscope
SERVERS. General Design Issues  Server Definition  Type of server organizing  Contacting to a server Iterative Concurrent Globally assign end points.
Introduction to java (class and object). Programming languages: –Easier to understand than CPU instructions –Needs to be translated for the CPU to understand.
EML 2023 – Modeling, Parts Lecture 1.1 –Configuring SolidWorks.
Phoenix Based Dynamic Slicing Debugging Tool Eric Cheng Lin Xu Matt Gruskin Ravi Ramaseshan Microsoft Phoenix Intern Team (Summer '06)
Useful Tools for Testing
Control Flow Testing Handouts
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 4 Control Flow Testing
WeBWorK Java Evaluator
Outline of the Chapter Basic Idea Outline of Control Flow Testing
Structural testing, Path Testing
OPNFV Arno Installation & Validation Walk-Through
Test Case Purification for Improving Fault Localization
Introduction to JUnit IT323 – Software Engineering II
Tracing What, How, and Why Copyright © Curt Hill,
Microsoft SQL Server Upgrade and Downgrade scenarios
ELC 347 Day 10.
The use of plugins A plugin (or plug-in, or extension) is a component that adds a specific feature to the “standard” Handbook on IT Audit for Supreme Audit.
import junit. framework
Setting up home folders and roaming profiles
Reverse Shell.
Presentation transcript:

CS4272 Hardware-Software Co-design Assignment 2 School of Computing National University of Singapore Guo Liang

Testing Testing – an essential step of development Organized as test cases for different components Selectively executed – Test cases must be independent We are going to identify dependent test cases and discuss the solution

Tools Involved Use JSlice to find dependence between test cases of JMeter JMeter test cases based on JUnit Execute JUnit for execution of JMeter test cases

JSlice Dynamic slicing tool for Java Another Java virtual machine – Use it to execute Java program and to slice Compatible with Java 1.4 Available on Linux

Access Server: modelchk.ddns.comp.nus.edu.sg ID/password: sent Connect using SSH

Self Access Copy the folder /usr/local/slicing on the server Put under the same path in your own box Tested on Fedora Core 3 and 4 only

JUnit A unit testing framework Test case template class provided Application test cases extending template class

JMeter Java based application Functional and performance evaluation Test cases provided by developer for unit testing

Overview JSlice JMeter test cases JUnit Call test case methods using reflection The Java Program Execute Trace Slice Slicing Result

Slicing Criterion Method criterion – (class, method) – All statements executed between method entry and exit Specified in file: – Number_of_criteria – Class_name_1 method_name_1 – Class_name_2 method_name_2 – …

Slicing Result A set of statements – The criterion control/data dependent on In result file: – Class name 1 – Line number 1 – Class name 2 – Line number 2 – …

Execute JSlice Navigate to JMeter home folder Execute – sh runtest.sh criteria sliceresult The slice result is saved in sliceresult

JMeter Test Cases 8 test cases shown in JMeterTestSuite.java Each test case may have several single tests All methods within the test case class are considered as part of the test case Report dependence between test cases, not between single tests You may modify JMeter and its test cases

A Sample Test Case public class HelloWorld extends TestCase { public void setUp() { … } public void testAddition() { … } public void testMultiplication() { … } public void tearDown() { … } }

Test Case Dependence A  B – Test case B is control / data dependent on test case A A common case – A global variable v defined during A while used during B Execution sequence

Two Types of A  B Real test case dependence – Removing A, B’s behavior is different – The variable is in the application Other test case dependence – Removing A does not affect B – The variable is in Java library

The Assignment Find all test case dependence Identify real dependence State the reason and solution