Archive

Posts Tagged ‘javascript’

Introduction To Software Testing

July 19th, 2009 bodom_lx No comments

Elements and Concepts – A brief overview


Download PDF version of the whole document. You can browse the article online but I encourage the download of the PDF since it is written with accuracy.


Introduction

This document contains some basic concepts and definitions about software testing. It has been written for studying a part of the Software Engineering Project course at my University. It is composed by a summary of the intersection of more than 10 different sources, all of which are cited. If you feel that some contents of this publication belong to your intellectual property and it is not cited, please contact the author who is willing to correct any mistake.

The first part of the paper focuses on the definition of the most important key aspects of software testing. Then some information about input partitioning are given. What follows is a research about code coverage and two useful and famous tools, Control-flow coverage and Data-flow analysis. A complete example on using those tools is then given. The second half of the document also contains the definition of the most important software testing practices.

The goal of this tiny document is to clarify key terms and therefore become a base start for the reader to go in deep with the interested topics. Another goal is to give a simple but clear example about data flow analysis, as I realized that not all the people understand the examples around the Net.

Software Testing

Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the context in which it is intended to operate. Software Testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs. It can also be stated as the process of validating and verifying that a software program/application/product meets the business and technical requirements that guided its design and development, so that it works as expected and can be implemented with the same characteristics. 1

Read more…

Related posts

Introduction to Aspect-Oriented Programming

June 16th, 2009 bodom_lx No comments

Like I did for Functional Programming, this post contains the mindmap that covers the basic elements of Aspect-Oriented Programming.
This is just a tiny summary of the most important points of AOP, and uses AspectJ in the examples.

Topics covered:

  • Definition
  • Response to Object-Oriented crosscutting concerns
  • Aspects
  • Advices
  • Inter-Type Declarations
  • Join Point Model: Join Points, Pointcuts, Advices
  • AspectJ tiny example

You can reach a browsable HTML export of the mindmap
You can download a PNG export of the MindMap.
You can download Freemind sources of the MindMap

Related posts

Introduction to Functional Programming

June 16th, 2009 bodom_lx No comments

For the Programming Paradigms course we had to study the concepts of Functional Programming.

So here is my usual mindmap regarding the topic. This is just a summary of the most important concepts of functional programming. It also summarizes the very well-written Functional Programming for the Rest of us publication, and uses its pseudo-Java language.

Topics covered:

  • Definition
  • Basic Units
  • Symbols
  • Concurrency
  • Higher Order Functions
  • Functional Programming and Design Patterns
  • Currying
  • Lazy Evaluation
  • Abstract Control Structures
  • Infinite Data Structures
  • Continuations
  • Pattern Matching

You can reach a browsable HTML export of the mindmap
You can download a PNG export of the mindmap.
You can download FreeMind sources of the mindmap.

Related posts

Unipoli

June 11th, 2009 bodom_lx No comments

Unipoli is a simple simulation of the very popular board game Monopoly by Hasbro. Unipoli is the Java outcome of the Programming Project course I followed in Academic Year 2007 – 2008.

I don’t know for how long the official project page will stay on Unibz servers, therefore I’m keeping this page on task3.

Project Members

  • Riccardo Buttarelli
  • Daniel Graziotin
  • Martin Leitgeb
  • Massimiliano Pergher

Mission Statement

This document was the first step made in facing the project:
The project will provide a simple simulation of the very popular board game Monopoly. Unipoli will allow a multiplayer experience (up to 8 human players) on the same machine but not over a network.
We will implement the classical Standard (Atlantic City version) Monopoly game board layout, produced by Charles Darrow, and later by Parker Brothers.
However, by virtue of being a virtual implementation of the real game, Unipoli will overtake some aspects of the real Monopoly game, giving to the players unique visual experiences. As example, we will highlight owned lands with the color associated to their owners. When a player decides to sell a property, the board will be obscured, leaving the lands owned by the player well visible.
Like in the original game, the purpose is to dominate the competition against the opponents, and be the last to survive. Due to time problems, we will not implement all the rules and game features. For example, hotels will not be included in our game version.

The GUI will consist of two main components:

  • A 2D top view of the game-board, that will occupy about the 80% of the window.
  • A sidebar containing information on players and the dice.

Players will be able to buy lands and build houses in case of monopoly. The opponents have to pay rents if a land is owned. There will be both factories and railroads.
Our game implementation will also feature the so-called Chance Cards.
There wonʼt be the possibility to play as the Bank. Money will just be considered as a number which increases and decreases. Therefore, a graphical representation of paper money is not scheduled.

Screenshots

Unipoli - Board Overview

Unipoli - Board Overview


Unipoli: user choices

Unipoli: user choices

Documentation

Source code and Javadoc

Binaries

License

Unipoli is released under the GPL v. 3

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http ://www.gnu.org/licenses/>.

Related posts

Introduction to HTTP mind-map

March 1st, 2009 bodom_lx No comments

As I promised about 4 hours ago, here is my introduction to Hyper Text Transfer Protocol in form of a mind map.
It is to be intended as a really short introduction to this protocol. Like the previous one about computer networks, the mindmap summarizes materials copyrighted by Tanenbaum and also material taken from Wikipedia.

The topics covered are:

  • Scope of the protocol
  • HTTP connection
    • HTTP/1.0
    • HTTP/1.1
  • HTTP request methods:
    • GET
    • HEAD
    • PUT
    • POST
    • DELETE
    • TRACE
    • CONNECT
    • OPTIONS
  • Message Headers
    • Request Headers – all
    • Response Headers – all
  • Status Codes:
    • 1xx Information
    • 2xx Success
    • 3xx Redirection
    • 4xx Client error
    • 5xx Server Error
  • Sessions:
    • Cookies
    • Server-Side sessions
  • Secure HTTP – HTTPS:
    • By URI scheme
    • HTTP Upgrade Header
    • SSL/TLS

You can browse an HTML version online.

You can download:

As always, you are free and encouraged to contact me in case of errors or anything else.
Hope you like it!

Related posts

Introduction to Network Organization mind-map

February 28th, 2009 bodom_lx No comments

For Internet Technologies and Distributed Systems courses we have to study some basics about network organization and architecture. The most interesting book on the topic is the one written by Tanenbaum (Computer Networks ). I have to study the parts about network organization and HTTP. For my studies I sometimes make use of mindmaps, so here I provide my mindmap that summarizes an introduction about network organization.

The topics covered are:

  • Layers (or levels):
    • Advantages
    • Services
    • Quality
    • Primitives
  • Protocols
  • Models:
    • OSI ISO
    • TCP/IP

Please note that the mindmap summarizes materials copyrighted by Tanenbaum and also material taken from Wikipedia.

You can browse an HTML version online.

You can download: