Subscribe by Email


Monday, February 6, 2012

What are different aspects of Software Engineering Institute (SEI)?

ABOUT SEI
- Software engineering institute is often abbreviated and called as SEI.
- The full name of the institute is “The Carnegie Mellon Software Engineering Institute”.
- SEI was established in the year of 1984 and has served the nation since than.
- The institute is funded by the federal government.
- SEI is a part of Carnegie Mellon University.
- The institute also serves as source of information and technologies for other organization apart from inspiring them.
- Apart from US, SEI has branches in Virginia and Germany.
- This engineering institute works in collaboration with the government organizations and defense to make effective software driven systems and improve the existing ones.
- The institute helps organizations as such to improve their software engineering standards within their project budget.
- SEI is involved with the research work for exploring effective solutions for the problems that are experienced in software engineering.
- Another purpose is the identification and coding of the solutions that are discovered.
- It struggles to a build a world of effective software intense systems and technologies.

AIM OF SEI
- SEI aims to continually improve the existing software engineering disciplines and technologies.
- It aims to achieve effective softwares within budget and of course time.
- SEI achieves all this by creating a vast community of software engineers and other professionals in the field.
- It is done with their help creating practical technologies that are feasible enough to be implemented to solve the real world problems.
- SEI seeks to improve the good effects of the software on the world.
- SEI considers excellence, impact and integrity as its guiding values.
- SEI conducts various programs in the field of:

System design
System security
Software development
Acquisition
Process management


DEFINED INITIATIVES OF SEI
SEI has some defined initiatives which are meant for improving the engineering capabilities of the software engineering society:

1. Engineering practices:
- These practices or programs are to continually improve the software engineering capabilities for predicting, controlling and analyzing all the properties of a software system.
- Tools like SEI frame work SPLP (software product line practice), SEI SMART (service migration and reuse technique) and SEI ATAM (architecture tradeoff analysis method) are used.

2. Acquisition practices:
- These practices aim to improve the acquisition practices of the organizations.

3. Management practices:
- On top of all management practices are to manage all other practices effectively.
- It is needed to manage the development process of the software systems to achieve success.
- SEI has its own capability maturity model integration (CMMI) approach which is comprised of training courses, models and appraisal methods.
- The CMMI has improved the organization’s performance incredibly.
- Another management model that the institute uses is RMM or resiliency management model.

4. SQUARE or security quality requirements engineering:
- This method has been developed to generate security requirements in order of some priority.
- Using SQUARE method security is incorporated in to the software system at early stages.
- It is particularly used for systems based on information technology.

5. Security:
- SEI is also the origination of the CERT coordination center which is well known for its computer security programs.
- The main aim of the CERT is to resist the attacks on the computer networks by means of effective measures like appropriate system management practices.
- It is implemented to curb the damage and ensure that the service link is not damaged.

6. Conferences:
- The institute organizes workshops, meetings and conferences from time to time. - Such events are to cover topics like COTS based systems (commercial off the shelf), acquisition practices, research on software processes, CMMI, network security and so on.

7. Membership program:
- This program seeks to help other organizations to join the network.


What are different aspects of Institute of Electrical and Electronics Engineers (IEEE)?

ABOUT IEEE
- The institute of electrical and electronics engineers is often abbreviated and called as IEEE.
- The institute has its head quarters in the city of New York.
- It is a non profit organization and is comprised of professionals from the fields of electrical and electronics engineering.
- The main aim of the association is to continually make excellent technological advancements in the field of electrical and electronics engineering.
- IEEE currently has around 40, 00, 00 members world wide and across 160 plus countries.
- Around 45 percent of the member population is from countries other than United States.
- IEEE was started as a non profit association in the New York City in the year of 1963.
- It was formed as a resultant the merging of 2 great institutes of that time namely the American Institute of electrical engineers (AIEE) and the institute of radio engineers (IRE).
- AIEE and IRE were formed in 1884 and 1912 respectively and in 1963 they merged together to give rise a new association i.e., institute of electrical and electronics engineers.

IRE AND AIEE
- The IRE was mostly concerned with the works regarding radio engineering.
- It was composed several small associations dealing with their own subjects like wireless technology and telegraph engineering etc.
- On the other hand, the AIEE was involved with the technology of wire communications like telephony and telegraphy, power systems, light systems and so on.
- The field of electronics engineering saw a huge rise in 1930s.
- At that time it was obvious for an electronics engineer to become a member of IRE.
- It happened so because with the advent of technological advancements it was getting difficult to keep the technology of IRE and AIEE from mixing with each other.
- The competition between the 2 organizations continued till the end of World War II.
Soon after that the 2 separate organizations were consolidated and a new association IEEE took birth.

FORMATION OF IEEE
- The formation of the IEEE was officially declared on the date of 1st January, 1963.
- Following were some prominent and influential presidents of IEEE:


Elihu Thomson (1890, AIEE)
Alexander Graham Bell (1892, AIEE)
Charles Proteus Steinmetz (1902, AIEE)
Lee De Forest (1930, IRE)
Frederick E. Terman (1941, IRE)
William R. Hewlett (1954, IRE)
Ernst Weber (1959, IRE; 1963, IEEE)
Ivan Getting (1978, IEEE)


AIM OF IEEE
- The main aim of the IEEE is to make theoretical and practical advancements which are educational and scientific and in the field of electronics, electrical, computer engineering, communications, related sciences and arts, and the other allied branches of engineering.

- IEEE also organizes conferences and publishes scientific journals on the related matters.

- IEEE is also responsible for organizing standards in the industrial area like:

bio medical technology
electric power
energy
information assurance
information technology
consumer electronics
aerospace
telecommunications and
nanotechnology


DEVELOPMENT OF IEEE
- Till date IEEE has developed over 900 technical standards.
- Therefore, it can be concluded it is also an organization for standards development.
- It conducts various programs in the institutes of higher learning.
- The merging of the two institutes can be seen in the logo of IEEE.
- It consists of a diamond shape which resembles the kite of Benjamin Franklin.
- In the kite there is an illustration of the right hand thumb rule.
- IEEE is a dual nature institute and has following 2 parts:
1.Technical focus: it refers to the computer society of IEEE.
2.Geography: it refers to the Philadelphia and South Africa section.

Apart from these there is one more unit that is managed by IEEE namely organizational unit IEEE- USA. The purpose of this unit is to implement the strategies and policies.


Sunday, February 5, 2012

What are the different tips for writing test cases?

What is the foremost thing that should be taken care of to carry out effective testing? Its test cases of course! Writing test cases without thinking is not going to help because any amount of efforts and time you waste on them, you are not going to get effective results. Writing test cases forms a major component of any software testing methodology.

SOME IMPORTANT FACTS

1. Any change in the requirements tends to affect the concerned test case as well. Since the test cases are based upon the requirements, any change in requirements is reflected in the test cases. If you make any changes to the requirements, make sure you have altered the related test case also accordingly.

2. After you finish writing your test cases, revise them twice so that any error that you didn’t notice can be found out.

3. It rarely happens that all the written test cases are executed. So keep the number of test cases limited i.e., as many as you can execute. If you have less number of test cases, you will be able to focus on them properly.

4. Some test cases demand other test cases as their prerequisites. If that is the case, then you should go through the list of test cases and decide a sequence for executing the test cases.

5. Some test cases are dependent on each other and so it becomes difficult which one to execute first. So try to keep your test cases as much independent as possible.

Now keeping above points in mind, we define some tips for writing effective test cases that if followed will certainly reap you the expected results:

1. Keep your test cases as simple as possible. i.e., keep them to the point and precise. You should be able to integrate your test cases with the test plan.

2. Document your test cases.

3. Review all your test cases at least twice.

4. Include input test data along with the test cases because if the tester is to choose test data by himself/ herself, he/ she may omit the most important test data making the whole testing go in vain.

5. While writing test cases always keep in mind that the end user is the one who will use the AUT.

6. Pay due attention while writing the test cases because this will affect the whole testing process.

7. For every condition or assertion in the program, write a different test case so that you don’t mix up.

8. Make sure that your each test case tests only one aspect of the program. Otherwise you will have problems like over lapping and over complicated tests. If one test case focuses upon one aspect, then the code will get good coverage and tracking any error will be easy.

9. Prepare documentation for every test case. Your documentation should have assertions and description of 4 stages (set up, execution, verification, and output) of the test case.

10. Select a basis on which you want to organize your test cases like functionality or class, so that it becomes easy for you to add new test cases later. The order of your test cases should be consistent.

11. The test cases should be able to execute with a good speed, should be independent as discussed above, should be small and precise so that they can be repeated without much hassle is needed to and should be transparent. By transparency I mean that the test case should clearly state its purpose.

12. Your test cases should be reusable.


Saturday, February 4, 2012

What are the tips to achieve effective software testing documentation?

As we all know that documentation is some written text that comes along with any software system or application. Though being just a plain text its importance cannot be neglected.
Without it, we won’t be able to make the full use of the software system or application. It explains us its features and functionalities and how to use it effectively. Documentation has a very important role to play in the field of software testing:

1. It gives an overview of the design or architecture of the software system or application. It explains how the software is related to the environment and what basic principles have been used in constructing the software system or application.

2. It gives technical knowledge about the concerned software system or application. It provides the documentation of the code and other legal aspects of the software.

3. It contains the algorithm used in the software system and provides explicit knowledge about the user interface of the software system or application.

4. Documentation states the requirements of the software system and functionalities whether it be functional or non functional requirements. Other aspects like capabilities, attributes and characteristics of the software system or application are also mentioned in the documentation.

5. It contains tips on how to market the product.

6. Documentation also contains end users manuals and other supportive manuals meant for support staff and administrators.
For documentation to prove effective has to be written properly in a designed way.

Writing effective documentation is also a recognized skill in the software industry. Here we are going to discuss some tips which if followed can help you improve the quality of your documentation.

1. You should be familiar with all the format types of the documents like PDF or HTML. You should be able to work with all the types. It may happen some times that when you transfer your write up to the documentation software, it may not show up exactly as you desired. So don’t waste your time by unnecessarily formatting your text. Choose your documentation software with great care.

2. Divide your documentation process into following stages:

(a) Information gathering: First gather all the information that you will need to include in your documentation.

(b) Prototyping of the documentation: In this stage you will create a list of just the topics that you have to include in the documentation in the order you desire. Your list may contain samples against each topic for your ease and convenience.

(c) Initial drafting: This stage involves writing up of all the content under the relevant topics that you have already listed. This will take up most of your time. After you are done with the writing, just review it once.

(d) Final drafting: At this stage you have to review your documentation once more so as to check whether any changes are required. The documentation is now ready.

3. It is always observed that the documentation is always processed at the end i.e., when the dead lines are nearing. This should not be done since the documentation does not get much time for effective reviewing and changes. So it becomes important that we consider the documentation from the initial stage of software development.

4. The preparation of the documentation becomes more simple and easy if your organization has an expert documentation writer. But what if you don’t have? A programmer can himself/ herself write the documentation since he/ she knows the program really well. But the documentation won’t be so effective if the programmer has not got good skills in writing.

Whatever the case maybe, always remember that the documentation does affect the user’s opinion about the program. So keep it simple, effective and impressive.


Friday, February 3, 2012

What are different cross browser testing tools?

Cross browser testing as we all know forms an essential part of cross browser testing. Today there many tools available in the web market which are able to carry out effective cross browser testing.

Cross browser testing tools present us a virtual method to check how our web site performs on the various different browsers available today and whether or not it functions properly?

Using cross browser testing tool you can easily check how your website looks on different browsers by working form just one system. Depending on the cross browser compatibility of a web site, it behaves differently with different browsers.

If you were to test yourself that how your web site behaves on different browsers, it will consume a lot of your time and effort. Then why not go for automated web browser testing tools? They are a great time saver and very reliable to work with.

Many cross browser testing tools are available like:
- Browser shots
- Browser lab
- Browsera
- Super preview
- Browser box
- Luna scape
- Selenium remote control
- IE tester
- Sauce labs
- Xenocode browser sandbox
- Cross browser testing.com
- Browscramp
- Litmus
- Net renderer

You can test your web sites using these cross browser testing tools and these cross browser testing tools test your web sites and applications on all the latest versions of the available web browsers.

SOME ASPECTS OF CROSS BROWSER TESTING TOOLS
- Some testing tools allow you to debug and test scripts of your web sites like CSS, AJAX, flash, HTML and JavaScript etc. allows you to explore the browser features and compatibility.

- Some of the available cross browser testing tools provides readymade test cases, so there is no need to waste time in setting up your test cases. You can straightaway start testing your web site.

- This will actually cut down the testing time and you will be able to spend the saved time by focussing upon the other aspects of your web sites that need to be improved.

- These cross browser testing tools are fast and you get the results in minutes.

- Some browser tools offer remote VNC sessions.

- They provide live browser tests so you have the ease of testing your web site from anywhere.

- You just have to provide the testing tool with the URL of your web site and select the browser for which you want to check your web site and hit run. That’s it! You will get instant results.

- Some of the cross browser testing tools provide a way to test the compatibility of the functionality and features of the web site across a variety of web browsers.

- After all it is necessary to test web site's features and functionalities rather than only look.

Lot of web designers are struggling with the problem of cross browser compatibility. Most of the cross browser testing tools offer services free of charge and are quite reliable and also easy to operate.

- To use some cross browser testing web site you may need to connect to their web site via a VNC client or you can use an applet.

- Once connected, you can fully test your web site interactively using their system.

- Few cross browser testing tools are windows program like IEtester.

- Such a tool allows you to test only the versions of internet explorer and not more than that.

- Some cross browser testing tools though offering excellent services, charge you a fee. The fee does not sounds too much if you look towards the positive side i.e., to the excellent and in depth testing options that they offer.


Thursday, February 2, 2012

What are different aspects of Cross Browser Testing?

Cross browser can be defined as the ability of a web page, web site or web application to run easily on all the browsers i.e., the web site, web page or application should have a good browser compatibility.

Many people confuse between cross browser compatibility and multiple browser compatibility.

Multiple browser compatibility is the ability of a web site, web page or application to execute efficiently on many browsers simultaneously. If a web site, web page, or application is having good browser compatibility, it is able to run on all browsers and without any loss of performance.

Maintenance of standards of performance is essentially necessary. All the browsers are then able to render that particular web site or application.

1. Cross browser testing is a no new methodology and has been in use since the web development started.
2. But, nowadays cross browser testing is used rarely since the modern versions of the browsers already have built in support for scripts like CSS 1 and HTML and so the browsers do not require any kind of proprietary extensions to attain the quality of cross browsing.
3. Another reason is that nowadays DOM manipulation methodologies which are way more compatible than cross browser compatibility testing are being used for the development of client side scripts.
4. The main browsers that a web page, site, application or a script needs to support include the following:

- Internet explorer
- Netscape
- Mozilla Firefox
- Google chrome
- Safari and
- Opera

These days only a little of cross browser support is demanded. The emphasis is on improving compatibility. The World Wide Web consortium introduced in 1997 a browser scripting language called “ECMA script” which was supposed to improve the cross browser compatibility of the browsers. It was after this only that the W3C started working up on DOM techniques.

1. Cross browser testing forms an essential part of web testing or when application testing, so it needs to be focused up on.
2. There are several testing tools available in the market today to carry out automated cross browser testing.
3. There are so many web browsers available today, and so the end users are not using the same browser.
4. A variety of browsers are in user which calls a need for testing of web sites and applications.
5. This need can be fulfilled by cross browser testing.
6. Client components like applets, flex, flash programs, AJAX and java scripts may behave differently when accessed through different browsers.
7. Also for every browsers hands end user’s request in a way that is different from the other.
8. Web developers need to make sure that the web sites and applications they are making are compatible with all the browsers and deliver exactly the same performance on any browser.
9. Testing a website or application for a single browser is of course not beneficial.
10. Cross browser testing involves testing of web sites or applications on both the sides i.e., client side and server side.

There are following kinds of engines:
- Gecko is used in Mozilla Firefox browser.
- KHTML is used by conqueror web browser.
- Presto is developed by opera and is used for opera browser.
- Trident or MSHTML is used for Microsoft developed browser “internet explorer”.
- Web kit is used for Google chrome and safari. It supports other browsers also.

Layout engines play a very important role in cross browser testing. They are basic entity that needs to be tested when you want to improve the cross browser compatibility. A layout engine is a web component that takes web contents and formatting instructions as input and displays the formatted content on the web page.


Wednesday, February 1, 2012

What are different tips for testing GUI on smart devices?

WHAT ARE SMART DEVICES?
- Smart devices are most popularity gaining devices in today’s world.
- Though being a small cordless electronic device, it is capable of serving us many purposes.
- It is highly portable and can be connected anywhere to a network like 2G, 3G, 4G, Wi-Fi etc.
- You can have a voice and video communication and browse internet.
- Smart devices in the coming years are going to outnumber many other devices like cell phones and laptops.
- These devices exhibit quite appraisable artificial intelligence and ubiquitous computing factors.

But, what makes these smart deices so popular among users except their features?
It is their user friendly GUI (graphical user interface).
- The abstraction feature of the OOP is employed here in hiding the interactions between the user and the computer.
- These devices are able to optimize themselves according to the environment in which they operate.
- To some extent these devices are self governed.

GRAPHICAL USER INTERFACE ON SMART DEVICES
- The GUI of these devices is vigorously tested to maintain the standard.
- GUIs are a bridge between the software system and the user.
- When agitated, the interface responds to the user’s activity like click or mouse movement.
- GUI makes it easy to implement the software code and also for users to interact with the device.
- GUIs form a major percentage of the program code.
- A lot of time is devoted in developing graphical user interface and testing it. - GUIs account for the usability of the device.
- The current GUI testing methodologies are mostly manual and ad hoc in nature.
- The tools used for GUI testing record the test case execution and captures screen shots during testing.
- The recorded sessions are played again and the input test data is manipulated. - This methodology requires a large effort.

Here we are going to discuss some tips regarding GUI testing of smart devices.

- The effectiveness of GUI testing depends on the ability of the tester to develop new interactions between the user and the software.
- The best advice for graphical user testing will be to use an automated test generating tool.
- This will save you much time and effort.
- Before using an automated test generator, you should code for all possible interactions.

Even though the automated test generator provides a great help, there are many decisions that it misses out.

To compensate for this, the better option is to release the beta copy of the GUI and let the users test it and give you the feedback. More the number of testers, more effective will be the testing.

Here we are listing some tips for making GUI testing more effective:

- Having a defined coverage criterion will make it easy for you to decide what to test first.

- Prepare documentation for the test cases that have to be executed. In this documentation, define the test input data to be used for each test case. The input test data should be related to the requirements specifications of the software system.

- Compare the actual output with the expected output and decide what can be done to get the desired output if the two don’t match.

- After you have predicted the outputs for the test cases, execute them one by one and verify the output.

- Most importantly ask yourself questions like:

a) “how to improve the interaction of the user and the system?”
b) “how to make it easier for the user to access various features of the device through GUI”, “what are the possible where bugs can be found?”
c) “is this GUI compatible with the environment in which it is to be used?”
d) “what are the features that should be compulsorily incorporated in to the GUI?”.


Facebook activity