Subscribe by Email


Showing posts with label Choice. Show all posts
Showing posts with label Choice. Show all posts

Saturday, June 2, 2012

What is meant by the term system metaphor? What is its use?


System metaphor- well this is a term which is related to the extreme programming but less known of! What is the system metaphor and what is its use and what is the need? 
We shall be discussing all these aspects of the system metaphor in this article. 

"A system metaphor in the simplest words can be defined as a story that any one includes customers, programmers and managers) can tell reading how a system works".

Reasons why we need to use System Metaphor


There are several reasons for why we need to use the system metaphor.  They have been listed below:
  1. Architecture: The metaphor is consider to shape the software system or application exactly as it is required by us with the help of identifying the key objects and giving suggestions regarding the aspects of their interfaces. The dynamic and the static models of the system are supported by the system.
  2. Shared Vocabulary: A common system of names for the objects and relationships that exist between them are suggested by a system metaphor only and thus it provides a powerful vocabulary for the developers and programming experts. The vocabulary created is shorthand and specialized.
  3. Common Vision: System metaphor comes in to as a very handy tool that helps in enabling all the stake holders to agree up on the working of the software system or application. The key structure of how the problem and the solution have been perceived is provided by the system metaphor itself. Overall, this helps in understanding the working of the system well.
  4. Generativity: A system metaphor by the means of its analogies can get you new ideas regarding the problem and its solution and can further dig out many other important issues.

How to choose a System Metaphor?


- Even though choosing up a proper system metaphor for your system may take some time and efforts, it is the best option that you have for exploring several possibilities just by looking at the system through various views. 
- If by combining two metaphors you are getting the one that is fit for your then go for it. 
- Now what if you come to know that you could have got a better metaphor for your system than what you have already opted for? No need to worry, you can still develop your system in that direction. 
- Such a measure will also help you in achieving a greater understanding of your problems. 
- What if you are not able to think of any good metaphors? 
- There are some naive metaphors always available to your rescue. Below mentioned are some examples of the system metaphors:
  1. Use of a pension tool as a spreadsheet.
  2. Using desktop metaphor for graphical user interface.
  3. Buckets, lines and bins in C3 payroll.
  4. Bills of materials in VCAPS.
  5. A double entry system being used as book keeping and spreadsheet.

More about System Metaphor


- Suppose you sign a contract with a client for developing some software system, what you do next? 
- You search for a good system metaphor that will guide the development of your software system or application.
- A metaphor very well guides the development process of a project. 
- Not any one can choose a good metaphor, it requires skills, practice and of course deep knowledge.
- A system metaphor is nothing but a metaphor having a simple design and some essential qualities that the original needs to have. 


Wednesday, October 6, 2010

How to choose a black box or a white box test?

White box testing is concerned only with testing the software product; it cannot guarantee that the complete specification has been implemented. Black box testing is concerned only with testing the specification; it cannot guarantee that all parts of the implementation have been tested. Thus, black box testing is testing against the specification and will discover faults of omission, indicating that part of the specification has not been fulfilled. White box testing is testing against the implementation and will discover faults of commission, indicating that part of the implementation is faulty. In order to completely test a software product both black and white box testing are required.

White box testing is much more expensive in terms of resources and time as compared to black box testing. It requires the source code to be produced before the tests can be planned and is much more laborious in the determination of suitable input data and the determination if the software is correct or incorrect. It is advised to start test planning with a black box testing approach as soon as the specification is available. White box tests are to be planned as soon as the low level design (LLD) is complete. The Low Level Design will address all the algorithms and coding style. The paths should then be checked against the black box test plan and any additional required test cases should be determined and applied.

The consequences of test failure at requirements stage are very expensive. A failure of a test case may result in a change, which requires all black box testing to be repeated and the re-determination of the white box paths. The cheaper option is to regard the process of testing as one of the quality assurance rather than quality control. The intention is that sufficient quality is put into all previous design and production stages so that it can be expected that testing being relied upon to discover any faults in the software, as in case of quality control.


Friday, July 2, 2010

What are different conditions in which you can select a testing tool?

The requirement of a testing tool can be judged if you analyze the existing scenario in your organization.
- Are your customers happy with the software delivered by you. If they are unhappy and report about the bugs that they have faced, then the testing process needs to be improved. Now, the organization needs to consider an option of using a testing tool.
- If the customers are happy with the product delivered, then find out the effort, time and money spent on the testing phase. The productivity of people can be increased by using these tools.
- If the manpower attrition rate is very high, then the most likely reason is that they were getting bored doing repetitive things. Testing tools remove the manual work and hence the test engineers enjoy their work.
- If performance testing has to be done on your software, tools come in handy.
- If the organization believes in a process-oriented approach to testing, testing tools will be of immense use.
- If project teams are located at different locations, a web based management tool will be very effective for efficient management of testing process.
Once the decision of using a testing tool is made, you need to make a choice of which testing tool should be used based on:

- Most of the application software packages need to be tested for functionality. As software is modified, regression testing is also a must. Hence,functional/regression testing tools are must.
- Load testing is preferred if the software is C/S application or a web application. A performance testing tool is also used.
- Testing management tools can be integrated with the above tools also.
- Once the type of testing tools required are decided, obtain the tool for the environment in which the software runs.
- Testing tool vendors also give tools that support testing for software packages such as Siebel, SAP etc.
- To test the source code, you need to but source code testing tools.
- Bug tracking tolls need to be used for tracking bugs in large software development project.
- Testing management tools are a must if the organization is keen on implementing process-oriented testing.
- Web enabled testing tool is of great use if the project teams are at different places.


Facebook activity