Tuesday, May 13, 2014

Tools

As a Computer Scientist, I write code everyday and edit images often. So care about my file integrity and security. SmartBackup is tool I encountered very useful for backup my contents it is a  alternative backup application for Mac OS X. The most basic tools for my everyday use are source code editor and a compiler or interpreter, which are used ubiquitously and continuously by me on daily basis.



Some of the tools that I became very familiar with in this semester are follows : 
  1. GitHub - is a web-based hosting service for software development projects
  2. Burndown Chart -  is a graphical representation of work left to do versus time
  3. PhoneGap -  It enables software programmers to build applications for mobile devices using JavaScript, HTML5, and CSS3.
  4. Compress PDF - tool to merge and compress multiple PDF files by just uploading


My personal favorite is “Pages” is a word processor and a page layout application developed by Apple Inc. It is part of the iWork productivity suite and runs on the OS X and iOS operating systems. It is easy-to-use application that allows me to quickly create documents at easy. Many advanced features that were available in Pages like including mail merge, bookmarks, text box linking, advanced find/replace, alternating left-right margins etc. Pages is both a word processor and a page layout application.




Software development tool are application that software developers used for creating, debugging, maintaing. It will also support for other programs and applications. In other words it simply refers to relatively programs, that can be combined together to accomplish a task. The ability to use a different tools on daily basis  is one hallmark of a skilled software engineers.

Reasons for unskilled developers

1. Developer by chance not by choice. In the world anybody can become a software developer whatever the qualification is. I, myself, was a System engineer, but in my college campus I was recruited by a Software company, so I ended up becoming software developer. Likewise many of friends or friends of friends who become software developer by chance not by choice. Most of the college students who join any Software company does not know anything about software development or have any knowledge about programming(its my personal opinion).

2. University education does not help which means, I am a graduated from one of the good college in India but I don't see any of the quality of education in India. Because importance is given to grades than to practical learning, students just memories the things and get score but practically they don't  know anything. One of my friend recently interviewed a guy who had 6 years of experience, post graduated student from a good college in Computer Science with a very high percentage, but he was not able to write a Fibonacci series program.

3. Developers are not updated by there own interest. If you ask a developer what is the last technical book you read or how keeping yourself updated?, most of the times you will not get any answer. Nobody wants to learn or improve themselves.

4. There is no contribution to open-source community. I don’t see any of my friends or including me who had been contributed to open-source community. We will only use open-source project and if we find any bug in the project we will blame the developers who wrote the code but not fix the code.


5. In India everybody wants to become a manager. it is easy to become team leader if you have  5 years of work experience. Once you become team leader, your will try harder to become a manager for that we have to be good in giving your work’s to others, politics. This shows that we don’t know much about programming.

Beta Testing


What is a beta version of a software product?

It is product, which is an officially released. That includes most of the product's functionality. The beta version of a product is intended for external testing of a product. By doing this company can  identify configurations that cause problems, as well as collect feedback and requirements from real world users.

Before release of a beta version of official product, it undergoes a full cycle of internal testing, after which the application is released for real world users.

The beta testing is the second phase of software testing in software development, which is a sampling of the product for the audience to trie out. (Beta is the 2nd letter of the Greek alphabet.). The term alpha testing meant the first phase of the testing in a software development process. The first phase includes system testing, component testing. Beta testing is like  "pre-release testing." Beta test versions of software are now distributed mostly to world wide of audience on the Web. which includes advantage like give the program a "real-world" testing and give audience a  preview of the upcoming release.

Beta testing for a product is prior to commercial release. It is the final stage of testing, and normally can involve sending the product to beta test sites outside the company for real-world exposure or offering the product for a free trial download over the Internet.



Reference:
http://www.webopedia.com/TERM/B/beta_test.html
http://www.qbi.in/Careers/Career-as-software-quality-professional.aspx