Subscribe by Email


Showing posts with label Objective. Show all posts
Showing posts with label Objective. Show all posts

Sunday, February 17, 2013

Explain Jubula - Web Functional/Regression Test Tool


Today we have around 100 tools available for functional and regression testing of the web based applications. Jubula is one among such tools and will be discussed here in detail. 

About Jubala

- This is an open source tool that is available both as a standalone application and as a part of the eclipse package.  
- The former comes with an installer that is quite easy to use and the latter one can be downloaded from an update site. 
- Jubula client can be used for viewing the actual and the expected results and also it can be used for viewing the current as well as the previous results. 
- Here, you can easily the automatic screenshots whenever an error occurs. 
- Jubula supports many applications such as:
  1. Html
  2. Swing
  3. SWT/ RCP/ GEF and so on.
- Some features of Jubula tool have been listed below:
  1. Heuristic object recognition
  2. Command line client
  3. Context sensitive help in client
  4. Multi – user database for storing projects
  5. Portability
  6. Version control
- Command line has been included in this tool so as to facilitate continuous integration.
- Version control is achieved via the exports in XML format. 
- The contribution in this regard was made by BREDEX GmbH (also the developer of GUI dancer). 
- The GUIdancer was actually built up on the lines of Jubula core and offer some more features. 
- Jubula is not dependent on any platform windows, unix, linux or MAC. 
- A project by the name of ‘jubula functional testing tool’ was created as an open source project. 
- This project was a part of the eclipse technology project. 
- Other functional testing tools work up on the thing that the saving and management of the scripts is done through coding. 

Now depending up on the testing approach you are following, your test automation process may involve steps like recording, generation or straightaway writing of the code. 

What differentiates Jubala from other testing tools?

- It considers the importance of the automated acceptance tests as same as that of the project code. 
- According to Jubula, same best practices (reusability, modularity, readability etc.) should be used for creating these tests as well without requirement of any extra code. 
- Thus, the power of testing is given in the hands of the software testers and at the same time for the customers the access improves for monitoring the tests. 
- This results in a code free approach that minimizes the need for test maintenance, thus allowing the users to write the tests from their perspective. 
- If the team focuses on the software from the viewpoint of the user, it can gains a whole lot of quality info which often goes un-utilized when only JUnit tests are run.
- Jubula comes with a library of actions which is used for creating the tests. 
- You can combine the actions contained in the library using drag and drop.
- This library contains all the necessary actions that one may require for writing the tests. 
- This library is also independent of platform and application which implies that you can start writing the tests before the software is actually made available to you. 
- When you work with Jubula, you save on time since as soon as the code is committed the tests can be executed. 
- The time between the introduction of an error and catching it is reduced.

Objectives of Jubala

Jubula has got the following objectives:
  1. Providing tooling for carrying out automated GUI testing on html and java based applications.
  2. Specifying and maintaining a model specifications and requirements of the tests.
  3. Providing API for projects so that the test scenarios can be generated, test can be executed and results can be obtained. 


Friday, December 14, 2012

Transition Phase - One of the phase of Rational Unified Process


There are 4 phases which together constitute the rational unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase
  4. Transition phase
The above mentioned phases are responsible for the representation of the rational unified process at the highest level in the way which is similar to waterfall model representation but the difference is that the key for the rational unified process lies in the development iterations which form an integral part of all the phases of the rational unified process. 

Also, each of the four phases of the rational unified process are characterized by two things namely the objective and the milestone. The objective drives the whole phase from the beginning to the end and the milestone concludes the end of it. 

The phase is said to be complete with successful result if and only if it passes the milestone since this only marks the conclusion of the phase. All of the phases of the rational unified process are visualized in the form of a chart called the RUP hump chart which is drawn over the course of the whole process. 

In this article we shall discuss exclusively about the fourth phase of the rational unified process i.e., the transition phase. 

Objective of Transition Phase

- The primary objective with which the transition phase is driven is “to transit the software system or application” from the phase of development in to the actual phase of production. 
- This also extends the availability of the software system or application to the end user in such a form that it is understandable by the end user. 
- This phase involves the below mentioned activities:
  1. Training the end users
  2. Training the maintainers as well.
  3. Carrying out beta testing on the software system or application for validating it against the expectations of the end users.
  4. Checking the software product against the quality level that was set in the inception phase.
- When all the objectives are said to be accomplished, the software system or application is said to reach the ‘product release milestone’ and the development cycle is said to be concluded.
- This fourth phase of the rational unified process does the fine tuning of the software product.
- It is based on the feedback from the user and the software product is made ready for the release. 
- The transition phase is basically focused on the availability of the software system or application to the end users.
- The transition phase often involves the spanning of the several iterations. 
- The software product is tested in order to prepare it for the release and also minor adjustments are made as per the feedback provided by the end users. 
- When this point in the software development life cycle is reached, it is required that the feedback from the end user should be majorly focused up on the following issues:
  1. Fine tuning of the software system or the application.
  2. Configuration of the product
  3. Installation issues
  4. Usability issues
- By this time, almost all the major issues of the product structure should have been worked out in the earlier phases of the software development life cycle. 
- The product release milestone can be defined as a point where it is decided that all the objectives of the project have been met and whether or not another development cycle is required. 
- The basic and majority of the evaluation as well as the refinement of the software system or application is done based up on the feedback from the user.
- This can be considered to be a kind of fine tuning exercise for the software system since the system has already met the requirements of the users as it is driven by the use cases. 
- At the end, a final evaluation is done and accordingly the project is released to the public or is considered for another development cycle. 


Thursday, December 13, 2012

Construction Phase - One of the phase of Rational Unified Process


There are 4 phases which together constitute the rational unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase
  4. Transition phase
For representing the process at a high level, it is necessary that all of the above mentioned four phases should work together just as it is done for the water fall styled model. But here the key difference is that the primary key to the process is nothing but the development iterations that are involved in each of the development phase. Each of the above mentioned phases is driven by the objective and ended by milestone. The RUP hump chart gives the visualization for all the above 4 phases. 

Here we shall talk about the third phase i.e., the construction phase. 

About Construction Phase of Rational Unified Process

- The construction phase is driven by the primary objective for building the software system or application. 
- The primary focus of the construction phase is taken up by the components development as well as the development of the other features of the software system or application. 
- A bulk of coding is carried out in this phase only. 
- For developing a large project, it is required that several construction iterations are carried out in order to make an effort for dividing the use cases in to the segments that are manageable and that can be used in the production of the demonstrable prototypes. 
- The software version that is released in this phase is its first external release.
- The elaboration phase is concluded with the initial operational capability milestone. 
- The major thing with which the construction phase is concerned is moving the executable architecture that was created in the elaboration phase to the operational system. 
- Therefore, a beta version of the software system or application is ready to be evaluated by the project team. 
- In the elaboration phase the software product resides on the architectural baseline.
- Here, it is moved to a system that is so complete enough that it can make transition to the end users’ community. 
- The architectural baseline is grown enough to become the completed operational system via the refining of the designing in to the code. 
- This phase acquires the largest part of the whole rational unified process. 
- The remaining part of the software system or application is built on the foundation that was laid earlier in the elaboration phase. 
- Short and time boxed iterations help towards the implementation of the features of the system where an executable release of the system or application is released at the end of each iteration. 
- In this phase, writing the full test use cases becomes customary where each one marks the beginning of a new iteration. 
- The elaboration phase makes use of certain UML (unified modelling language) diagrams which are mentioned below:
  1. Activity
  2. Sequence
  3. Collaboration
  4. State i.e., transition and
  5.  Interaction overview diagrams
- The purpose of the rational unified process is to provide the industry tested practices for the development, implementation and delivery of the software system or application. 
- It also provides a comprehensive frame work for the effective project management. 
- This process is actually one of the many other processes which are contained within the rational process library of the IBM RMC (rational method composer). - This makes it easy to make selection and deploy the only components that you need for your process. 
- The rational unified process is adopted for 1000s of the projects nowadays worldwide. 
- It lessens the burden of inventing a new thing again and again rather it focuses on re-usability. 


Wednesday, December 12, 2012

Elaboration Phase - One of the phase of Rational Unified Process


The life cycle for a project under the context of the rational unified process is known to consist of the following four phases:
1. Inception phase
2. Elaboration phase
3. Construction phase
4. Transition phase

Here we shall discuss about the second phase of the unified process i.e., the elaboration phase. In Rational Unified Process, the four phases represent the process at a high level although the iterations that are carried out in every phase of development are the key to the process. 

Each phase here is provided with an objective and a milestone. It is necessary to have a milestone for each so that it could be decided that when and where a particular phase is ending and the next one is starting. All the above phases as well as the process disciplines are visualized in to what is called an “RUP hump chart”. 

About Elaboration Phase in Rational Unified Process

- The primary objective of the elaboration phase is defined as the mitigation of the key risk items whose identification is done by the analyzation of the whole phase from the beginning till the end. 
- It is here in the elaboration phase where the project starts taking the shape. - In elaboration the following 2 basic things take place:
1. The analyzation of the problem domain is done.
2. Basic form is given to architecture. 

- The following are the outcomes of the elaboration phase:
1. A use case is obtained in which both the actors and use cases have been identified. This use – model consists of most of the developed use – case descriptions. It is required that this use – case model should be at least 80 percent complete. 
2. A description concerning the architecture of the software system in a development process. 
3. An architecture that is executable and realizes the use cases which have an architectural significance. 
4. A revised risk list.
5. A revised business case.
6. A plan for the overall development of the project. 
7. Prototypes which give a demonstration on the mitigation of the identification of the technical risks. 
8. An optional preliminary user manual.

- There is a milestone criteria called the life cycle architecture milestone which involves answering the following questions:
1. Stability of the architecture?
2. Stability of the vision of the product?
3. Have the major risk elements been addressed and resolved and has been indicated by the executable demonstration?
4. Has the sufficient detailing has been done for the construction phase plan and is it accurate?
5. Have all the stakeholders agreed for achieving the current vision using the current plan under the current architectural context?
6. Is the expenditure of planned resource vs. actual resource acceptable?

- It is important that the project should pass this milestone and if it doesn’t there are 2 possibilities:
1. It can either be redesigned or
2. It can be cancelled.

- However, when the project leaves this phase, the project is transitioned in to an operation that involves high – risk i.e., to say here the changes are quite detrimental as well difficult to be made. 
- The system architecture serves as the key domain analysis for the elaboration phase. 
- The basic thing here is addressing of the major technical risks threatening the project. 
- Another thing is to have a bare system which provides answers to all of the major technical questions. 
- Once all the questions have been answered by the end, the development team will know whether a working system can be successfully built or not. 



Tuesday, December 11, 2012

Inception Phase - One of the phase of Rational Unified Process


There are 4 phases which together constitute the rational unified process namely:
  1. Inception phase
  2. Elaboration phase
  3. Construction phase
  4. Transition phase
This article is dedicated entirely to the first phase of the unified process i.e., the inception phase. The major development takes place in the iterations of development which are carried out within each phase. All of the above four phases have their unique key objective as well as milestones.

The accomplishment of the objective is denoted by the milestone. An RUP hump chart is used for the visualization of all the four phases of the rational unified disciplines and phases over the time. 

Objective of Inception Phase

- The primary objective of the inception phase provide adequate scope to the software system or application as a basis on which the validation of the budgets and initial costing could be done.
- The inception phase involves the establishment of a business case which is inclusive of the following:
  1. Business context
  2. Success factors such as the market recognition, expected revenue and so on.
  3. Financial forecast
- In order to complement the business case, the following things are generated:
  1. A basic use case model
  2. Project plan
  3. Initial risk assessment
  4. Project description which in turn includes the following:
    a)   Key features
    b)   Constraints and
    c)   The core project requirements

- Once the generation of the above mentioned sources is complete, the verification of the project begins against the following criteria:
  1. Stake holder concurrence on the following:
  a)   Cost estimates
  b)   Schedule estimates and
  c)   Scope definition
  1. Understanding of the requirements as per the evidence obtained by the fidelity of the use cases.
  2. Credibility of the following:
  a)   Cost and schedule estimates
  b)   Priorities
  c)   Development process and
  d)   Risks involved
  1. The depth and breadth that was developed for any architectural prototype.
  2. Establishment of a base line using which the planned expenditures and actual expenditures can be compared.
- If for one or the other reason the project is unable to pass the milestone (commonly termed as the life cycle objective mile stone) then there are only two possibilities after redesigning the program (for meeting the criteria in a better way) as mentioned below:
  1. It can be cancelled or
  2. It can be repeated
- This phase is involved with launching the project. 
- A proper business case can be developed for the project. 
- It is by the end of the inception that the development team comes to whether to carry on with the project or not. 
- In inception phase, one can see a core idea being developed in to a vision for a product. 
- In this phase may reviews, discussions, etc. are carried out regarding the business case involved in the project. 
- The scope of the project is delimited in the inception phase and also the product feasibility is established. 
- This is perhaps the smallest of all the phases of a project and also according to its ideal nature it should be short. 
- If the duration of the inception phase is too long it indicates that there has been an excessive up – front specification (even though this goes against the spirit of the rational unified process.).


Tuesday, January 31, 2012

What are different aspects of International Organization for Standardization (ISO)?

ISO is the short form of International Organization for Standardization. The international organization for standardization is well known for the development and publication of the standards pertaining to the international standard.

- The organizations itself constitutes many national networks from across the world.
- It is reported to have 163 countries in its network with one representative from each country.
- The office of the central secretariat of the organization is located in the city of Geneva in Switzerland.
- The purpose of the secretariat is to regulate the coordination in the system.
- It is a private organization and works with both public and private sector organizations. It is a non governmental organization.
- Most of its member organizations are either government organizations of their respective countries or are funded by the government.
- Other member organizations are private and are run in cooperation with the industry associates.
- We can say that ISO lays down a consensus that provides solutions which serves needs of both the business and society.
- The short form “ISO” was taken from Greek word “isos” which means “equal”.

Standards make a good impact on our life and they raise standards of our living too.Standards are very much needed to ensure characteristics like:


- environmental compatibility
- safety
- quality
- reliability
- economical cost
- interchangeability and
- efficiency


We never tend to notice the standard till the services and products are up to our expectations. We notice the importance of standards only when the services are not of the expected level. The products and services are said to work well and efficiently when they meet the standards set for them.

The international organization of standards is responsible for maintaining such standards all over the world.

International organization of the standards serves the following purposes:
1.It makes the manufacturing and development of services and products efficient, better than the previous and safe.
2.It aims at continually improving the marketing standards.
3.It takes are of the supply of services and products to the consumers.
4.It aims at developing a fair trading strategy between different nations of the world.
5.It lays down a basis for products and services for safety and health and environmental legislation.
6.It is responsible for carrying out the conformity assessment.
7.It shares new technological methodologies and management practices with its member organizations to lead innovation ahead.
8.It acts as a safeguard for the consumers of the services and products.
9.It provides solutions for many problems of standardization.

SOME MORE FACTS
- ISO till now has developed and maintained around 18,500 standards on an international level.
- Apart from these 18,500 standards, every year some 1000 new standards are being developed and published.
- The information about all these standards is available on the official website international organization of standards.
- The information center of ISO is operated by ISO itself in coordination with the international electro- technical commission (IEC).
- The ISO/ IEC information center has been developed to provide information regarding matters of standardization to its members and other stake holders.
- All the policies and strategies of the international organization of standards are jointly endorsed by the major governing bodies of ISO itself.
- The policies and strategies that have been serve as a guideline for all the members of the international organization of standards and its secretariat.

The 163 members of the ISO network are divided in to 3 categories which are:

- Member bodies
- Subscriber members
- Correspondent members


Sunday, January 29, 2012

What are the different quality attributes in software architecture?

Software is of no use without good quality. Incorporating high quality in software is very difficult. The term “quality” is itself very hard to be defined. We can only measure quality using certain attributes. These attributes are called software quality attributes.

WHAT IS THE IDEA BEHIND QUALITY ATTRIBUTES?
1. Quality attributes of a software system or application define its behavior.
2. The quality attributes give a certain idea of how much suitable is the software for a purpose or environment.
3. It is an essential component of software architecture.
4. Identification of quality attributes is necessary as it helps the system to be built according to the intended behavior.

Certain scenarios are used to measure the quality attributes.
1. The scenarios are very helpful in helping the program developer to make decisions that are qualitative in nature and related to the program behavior.
2. Writing good scenario statements is very important in identification of quality attributes.
3. Although the scenarios help in the identification of attributes, they don’t provide an effective way to achieve those attributes that has to be figured out separately.

Architectural methodologies come to help at this point.
1. There are several architectural methods possible to achieve a particular quality attribute.
2. The software architect should select the right method and use it according to the needs of the software.
3. He should justify the selection of a method and provide documentation on it.

Over the years, some basic quality attributes have been identified and recorded in a list. The quality attributes have been classified in to 4 categories:

1.Run-time system qualities
These attributes are measured when the software is in execution mode.
- Functionality is the ability via which the system completes the assigned task.
- Performance is the collective measure of resource utilization, the response time, and the through put of the system.
- Security is the ability of the system to protect itself from unauthorized access and modifications.
- Availability is the time period for which the system is available to use.
- Inter-operability is the ability of a system to run in cooperation with another system.
- Usability includes other attributes like affect, control, help, and efficiency.

2.Non runtime system quality attributes
These attributes cannot be measured when the software is in execution mode.
- Portability is the ability of a system to perform well in varying environments.
- Modifiability is the adaptive ability of a system by virtue of which it is able to adapt to the changes.
- Integratibility is the ability of the components of the system to work in coordination with each other.
- Reusability is the measure of extent to which the existing features can be used in new software.
- Testability is the measure of the extent to which the software can be tested.

3.Business quality attributes
These attributes affect the other quality attributes.
- Marketability is the value of the system in the market.
- Cost is the money value of the software.
- Schedule is the expected utilization of the system.
- Appropriateness

4.Architecture quality attributes
These are specific attributes concerning the software architecture.
- Correctness is said to account for over all satisfaction of the system requirements.
- Conceptual integrity is the ability of the components of a system to integrate with each other.

5.Domain specific quality attributes
These are specific attributes concerning the business domain.
- Calibrability is the ability of a software system by virtue of which it recalibrates itself according to a specific range of work.
- Sensitivity is the measure of response of the software system to the measuring of a quality attribute.

The software architecture is greatly influenced by the quality attributes of a system. A measure taken in favor of one quality attribute often goes against another.


Saturday, January 28, 2012

What are different aspects of Game Testing?

Today’s world is fantasized with games. Children and youth both are addicted to games. With the cutting edge technology, gaming technology has reached new heights. Now games have become so exciting with their real world technologies. With the growing demand for games, there always a tough competition between the games developing companies. They struggle with technology to deliver the best quality games. So like software programs and applications, games also have to be tested for quality and performance.

Therefore, game testing is considered to be an important part of game development.

OBJECTIVE OF GAME TESTING
1. Game testing can thought of as a kind of software testing which aims at testing the quality of the games.
2. The main objective of game testing is to find all the errors and bugs in the gaming software and preparing their documentation.
3. Games require very high technology and thus call for the need of analytic competence.
4. It is developed using computer expertise and endurance.
5. There are some critical evaluation skills on which it is based.

WHY GAME TESTING BECAME NECESSARY?

1. In the era of early video games, all the development and testing process was carried out by the developer of the game only since the games were small and primitive technology was used.
2. But, today the games are becoming very lengthy and complex due to the advent of high technologies.
3. So, there is a need for qualitative and quantitative assessment of the games which can be achieved by game testing.
4. Today’s game companies have separate expert game testers.
5. The main aim of game testers is to find note any problems that they discover in the documentations and reports.
6. They should have the skills to finish the games at the most difficult level. Game testing is carried out on the program before releasing its alpha version.

HOW GAME TESTING IS PERFORMED?
A critical component of a game is quality even though there are no standard methodologies to judge the video quality.

1. Different testers and developers have their own methodologies.
2. There is a separate quality assurance staff in game companies to judge the quality of the game.
3. Starting is commenced as soon as the first code of the game is written and it continues till the whole program is completed.
4. The progress of the game is monitored by the QA staff.
5. When the whole program is completed, a test plan is written and test cases are prepared and the testing is carried out accordingly.
6. This is done before alpha stage.
7. As the beta stage approaches, one of the aspects of the game is daily testing according to the plan.
8. List of the features is prepared which are to be included and which are to be excluded.
9. Beta stage testing includes contribution from volunteer testers.
10.The game is played and tested.
11.The discovered glitches are noted down.
12.The game play should be creative since then only most of the bugs will be discovered.
13.There is a time period before the deadline which is termed as crunch time.
14.In this period the features that were added later are tested.
15.The bugs discovered are ranked according to the severity they can cause:

- Critical bugs/ A bugs: that can cause the game to crash.
- Essential problems/ B bugs: bugs that require attention even though the game runs well.
- Obscure problems/ C bugs: these bugs are small but require to be corrected.


The following people are involved in testing of a game:
- Game producer
The person sets the deadlines for testing based upon quality assurance and marketing.
- Lead tester
The person manages list of bugs and most responsible for the quality of game.
- Testers
The person checks the working of the game.
- Software development engineer in test
The person builds automated frame works and test cases.


Facebook activity