Saturday, August 2, 2014

Rendezvous with St. iGNUcius

WINDOWS = Where I Never Do Operations With Security

The mail said,
On behalf of TISS, we cordially invite you to a public lecture BY RICHARD STALLMAN titled "FREE SOFTWARE, FREE SOCIETY", ON THE 21ST OF JANUARY 2014, at the Old Conference Hall, TISS Main campus (Time: 5pm-7pm).

Richard Stallman is the founder of the Free Software Foundation and the GNU Project. Stallman pioneered the concept of copyleft and is the author of the GNU General Public License (GPL), the most widely used copyleft license, for free software. He will also talk about the relevance of software freedom in the era of networked computers.

A vehicle was arranged from IIT Bombay to TISS to attend this talk.

He gave a riveting talk on the following topics:

There is an ideological difference between the proponents of the terms "Free Software" and "Open Source".
The term FreeSoftware was introduced in the early 1980's by the movement we now know as the FreeSoftwareFoundation. Thus, the definition of FreeSoftware is focused on the freedom to share with your neighbor.
The term OpenSource was later introduced by another community including ESR, is more or less indifferent to moral issues concerning software sharing. The OpenSource movement argues that developing software using the "bazaar" philosophy (as described in TheCathedralAndTheBazaar) is superior. Hence the definition of OpenSource is focused on effective development using the bazaar model for business. While both discuss software whose users are permitted certain freedoms with respect to the code, OpenSource tends to focus on providing an economic/business argument for FreeSoftware. FreeSoftware focuses on providing a moral/ethical argument for OpenSource. The distinction is between "using/providing FreeSoftware is a good, morally right, thing to do" and "using/providing OpenSource Software is beneficial to you and your business". In most cases OpenSource software is also FreeSoftware, so the difference is mostly that the OpenSource community, probably in order to be more BusinessFriendly, refuses to subscribe to the ethics of the FSF. So, for the most part the effects are the same. Practically, however, the main difference is that OpenSource people think that closed software is OK, if not ideal, so if a XFree86 driver is closed source, that is OK, but the FreeSoftware people believe that these non-free software packages should be avoided if at all possible. OpenSource licenses do not restrict redistribution of identical or modified copies. Some FreeSoftware licenses place one restriction: that redistribution must be under a FreeSoftware license. Such licenses are called Copyleft licenses.
Licenses like BSD, MIT, Apache are not copyleft but are Free Softwares. There is only one license which is Open Source but not Free Software - Reciprocal Public License or RPL.
According to RMS, surveillance, censorship & non-free softwares are major threats to free digital society.

He also talked about Japan's restrictions on several websites, Wikileaks, Free speech not Free Beer, India's UID scam, how Javascript & librejs are not secure.

We even met Nagarjuna G., Research person at HBCSE.
At the end there was an auction session to get the GNU puppet which was then sold at 3000.

 Non-free software controls man

Reverse Engineering in NetBeans and TestCases

NetBeans 7.1

  • Open NetBeans.
  • Tools > Plugins > Settings > Add
  • Name : UML
  • URL :
  • In Available Plugins, tick "UML" and click on install button.
  • After installation, restart Netbeans.
  • Right click on project package name(Here sample)
  • You will see "Reverse Engineering" in the drop down
  • Select it -> Click on OK
  • A Model folder gets created
  • Inside it go to Model->package name(Here sample)
  • Right Click on package name.
  • Choose Create diagram from selected elements option
  • Choose the diagram type you want. I selected Activity Diagram.
  • Click on Finish.
  • A prompt dialog appears. Click on Yes.
  • You can now view Activity Diagram for your project.
  • Likewise you can generate other diagrams.

Test Cases:

1. JUnit : Visit Link
Right Click on package name and select New->JUnit Test->Finish.
This will create JUnit test file. Right click on the file and select Test File.
It will produce the test result as follows.

Note : If you don't find JUnit option, install the plugin  by searching in
Tools->Plugins->Available Plugins

2. Functional & Regression Testing with TestNG :
If plugin is not installed, then visit link and click on Download.
Extract the downloaded file. We can view 3 nbm file.
Go to NetBeans.
Go to Downloaded->Add Plugins->"add those 3 files except maven.nbm"->Install.
Restart NetBeans.

Right Click on package name and select New->TestNG Test->Finish.
This will create TestNG test file. Right click on the file and select Test File.
It will produce the test result as follows.

3. Load Generator or JMeter or Stress Testing or Volume Testing :
Right Click on package name and select New->JMeter Test->Finish.
This will create JMeter test file. Right click on the file and select Test File.

4. Smoke Testing :
The results of this testing is used to decide if a build is stable enough to proceed with further testing.

5. Sanity Testing :
A sanity test or sanity check is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true.

6. Usability testing :
It involves a completely different set of skills and is a subjective form of evaluation, because it depends on the user population that will use the application. Results obtained in this way should not be generalized to other situations and users outside those in the test population.

7. Capacity Testing :
In short, capacity testing is about figuring out what the capacity of the system under test is. Typically, how many transactions per minute or how many simultaneous users a system can bear without crashing.

8.  Recovery Testing :
Examples of recovery testing:
While an application is running, suddenly restart the computer, and afterwards check the validness of the application's data integrity.

9. Reliability Testing :
You have to explain about NetBeans and how it supports reverse engineering with formula
Probability = Number of failing cases / Total number of cases under consideration

10. Ad-hoc testing :
Testing without knowledge of actual system to check functionality.
Ad hoc or regression testing is done after fixing defects to check functionality.

11. Black-Box testing:
If the source code is not available then test data is based on the function of the software without regard to how it was implemented. When performing a black box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked Manually testing

White-Box testing :
The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately. eg:Junit

Vanakkam Chennai

                                         Its my passion to travel, meet people and know about their livelihood. Having a far adju...