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.
Sunday, January 29, 2012
What are the different quality attributes in software architecture?
Posted by
Sunflower
at
1/29/2012 04:21:00 PM
0
comments
Labels: Ability, Architecture, Attributes, Business, Components, Domain, Effective, Expected, Ideas, Non run time, Objective, Quality, Quality Attributes, Run time, Scenarios, Software Systems, Types, Values
![]() | Subscribe by Email |
|
Wednesday, January 18, 2012
What are different aspects of iterative approach?
Iterative approach along with incremental development forms the heart of software development process or cycle which has been developed in response to the weaknesses of the sequential approach of water fall model.
Iterative approach begins with the execution of an initial plan and is ended with deployment with the interactions between the implementation and testing components of the cycle.
Iterative approach forms an important part of the extreme programming, rational unified process and agile software development frame works apart from the cyclic software development process.
It is similar to following the plan- do- check- act cycle of business development process.
BASIC IDEA BEHIND ITERATIVE APPROACH
- The basic idea behind this iterative approach is to develop a system or application through repeated cycles or iterations and in smaller units at one time (called incremental development).
- Such an approach allows the software testers and developers to take the advantage of earlier learnt lessons during the development of the software system or application.
- Learning comes simultaneously from development as well use of the software system or application.
- The basic idea of this whole iteration approach is to implement a task and its redesigning as stated in the project control list.
- It involves analysis of the current version of the software system or application.
STEPS IN ITERATIVE APPROACH
- The key steps involve implementation of the sub sets of the software system or application requirements and this in turn leads to the enhancement of the evolving versions until the implementation of the full software system or application.
- At each step of iteration approach slight modifications in the design are made and new functional features are added.
- The first step in the procedure for iterative approach involves the process of initialization.
- The objective of the initialization step is to create a basic version of the software system or application to which the users of the software can react and give useful feedback.
- The created basic version offers a sample of all the key features and aspects of the problem concerned and also provides a solution to that problem which can be easily implemented.
- The second step is the iteration step.
- The third step involves the controlling of the project development cycle.
- The third step involves creation of a list records of all the tasks and processes that are needed to be performed and the steps which guide the whole process of iteration process.
- The project control list also includes the new features and aspects that have to be added to the software system or application.
- Apart from all this the list also mentions the areas of the software system or application that have to be redesigned from the existing solution of the problem.
- During the analysis phase the list is regularly revised and new points are continuously added.
PRINCIPLES OF ITERATION TESTING
According to the principles of the iteration testing:
- The design as well as its implementation of any iteration should be simple, modular and straight forward.
- However the level of designing is not mentioned in the project control list.
- The analysis of an iterative project is solely based up on the user feedback and the program analysis methodologies available.
- The analysis includes testing of the structure, usability, modularity, reliability, efficiency and goal achievement rate.
- If the project is found lagging in any of these aspects, the project control list is modified accordingly.
- The iterative approach involves slicing up of functionality of the software system in to small portions or increments as they are commonly called.
- In each and every increment functionality is added via cross discipline method and from the requirements to the deployment.
Posted by
Sunflower
at
1/18/2012 01:46:00 PM
0
comments
Labels: Analysis, Application, Approach, Ideas, Implementation, Incremental, Initialization, Iteration, Iterative, Iterative testing, Objectives, Principles, Software testing, Steps, Test Cycles, Units
![]() | Subscribe by Email |
|
Saturday, January 14, 2012
What are different principles of communication?
Effective communication forms the most important part of the human interaction. Its importance can be hardly over looked. Each and every individual who forms a part of a team ought to know the principles of effetive communication in order to work and talk with the rest of the members of the organization and be listened to.
Here communication principles have been explained from different view poiints including litening and speaking.
Communication as we all know is a 2- way process of giving and receiving information through any channel.
The following basic principles apply everywhere irrespective of who the speaker or the listener are:
- Know your topic
- Know your purpose
- Know your audience
- Anticipate objections
- Present a clear picture
- Follow through on what you say in regard to your topic.
- Achieve credibility with your audience.
- Present what you want to say in different catchy ways
- Communicate a little at a time
- Develop a practical way to get feedback from your audience
- Use multiple and effective communication techniques
Communication is a complex process and sometimes even our own thoughts and opinions prove to be a major barrier in the way of effective communication.
Communication between different team members can be influenced by various environmental factors that actually don’t have anything to do with the content of the message.
Some of those factors have been listed below:
- Nature of the place or the room i.e., how cold or warm it is etc.
- Distractions like what is going on at that place.
- Reputation of the speaker.
- Appearance or the personality of the speaker.
- Knowledge of the listener about the topic.
- Language used.
According to a research, people remember most of what they hear and see rather reading or only seeing. To deal effectively with the decision makers, it is important to know and understand their opinions and interests.
Asking following questions will prove to be a great help:
- Whom to persuade?
- Who will make decisions about the change?
- What are the past experiences of the decision makers?
- What is current attitude of the decision maker?
- What is the most effective way to approach decision maker?
- What are the work styles of other team members?
- What programs will the new decision improve?
- How will the decision benefit the decision maker?
While making a formal presentation to the rest of the organization, the following principles hold good:
- Do not over state your case.
- Make appropriate use of understatement.
- Persuasion should be clear and simple.
- Be ready to back up facts or claims.
- Incorporate most anticipated objections.
- Use visuals aids appropriately.
- Try to find out what the other members think about your opinion.
Importance of Idea
- A good idea must always be recognized.
- The idea should be sold to those who can use it effectively.
- Organization must be convinced that the idea has enough merit to be acted upon. - Getting and giving feedback is also another important part of the communication process.
- Be patient and listen to the complete message.
- Don’t ever prejudge the incoming message.
- It’s well said that if you listen then you will be the most listened to!
- Good listeners demonstrate alertness.
- Always keep your attention directed towards the message and judge the content of the message.
- Distractions seriously impair listening.
- Always think critically and efficiently.
- Message should be conveyed in such a way that it discourages rejection and encourages retention.
Posted by
Sunflower
at
1/14/2012 02:17:00 PM
0
comments
Labels: 2-way process, Affect, Communication, Complex, Content, Effective, Environmental, Factors, Feedback, Ideas, Importance, Listen, Message, Nature, Opinions, Organization, Principles, Speak
![]() | Subscribe by Email |
|
Sunday, November 14, 2010
Who is a good exploratory tester and maintain a balance between scripted and exploratory testing.
Exploratory testing approach relies a lot on the tester alone. The tester actively controls the design of tests as they are performed and uses the information gained to design new and better ideas.
A good exploratory tester should
- have the ability to explain his work.
- he should have the ability to design good tests, execute them and find important problems.
- he should document his ideas and use them in later cycles.
- he should be a careful observer.
- he should be a critical thinker.
- he should have diverse ideas so as to make new test cases and improve existing ones.
- he should remain alert for new opportunities.
Exploratory Testing is advantageous when :
- rapid testing is necessary.
- test case development time is not available.
- need to cover high risk areas with more inputs.
- need to test software with little knowledge about the specifications.
- develop new test cases or improve the existing.
The drawbacks in exploratory testing includes that it is difficult to quantize and a skilled tester is required.
Exploratory testing relies on the tester and the approach he proceeds with. Pure scripted testing does not undergo much change with time and hence the power fades away. In test scenarios, where repeatability of tests is required, automated scripts have an edge over exploratory approach. Hence, it is important to achieve a balance between the two approaches and combine the two to get the best of both.
Posted by
Sunflower
at
11/14/2010 10:27:00 AM
0
comments
Labels: Advantages, Approach, Approaches, Automated, Exploration, Exploratory testing, Ideas, Quality, Scripted Testing, Software testing, Tester, Tests
![]() | Subscribe by Email |
|