Saturday, August 10, 2013
Shortest Path Routing - a type of routing algorithm
Posted by
Sunflower
at
8/10/2013 03:40:00 PM
0
comments
Labels: Algorithm, Aspects, Configurable, Data, Importance, Information, Network, Nodes, Performance, Process, Protocols, Quality, Resources, Route, Router, Routing, Routing algorithm, Service, Shortest Path Routing, Topology
|
| Subscribe by Email |
|
Wednesday, May 9, 2012
How is test driven development and documentation linked?
About Test Driven Development
About Importance of Documentation In TDD
- Feasibility report
- Technical documentation
- Operational documentation
- Log book and so on.
Posted by
Sunflower
at
5/09/2012 11:53:00 PM
0
comments
Labels: Automated, Code, Design, Development, Development Cycles, Documentation, Function, Guidelines, Importance, Link, Protection, Re-factoring, Repetition, Standards, Support, TDD, Test cases, Test Driven Development, Tests
|
| Subscribe by Email |
|
Saturday, February 25, 2012
What are low level and high level test cases? List out the differences?
IMPORTANCE OF TEST CASES
- Test cases are such an important part of software testing that they can’t be neglected.
- Test cases form the basis of any software testing methodology.
- After all, the efficiency of the software testing depends on how effective are the test cases developed for that particular type of software testing.
- The test cases are developed keeping in mind all the important aspects of the software testing.
- Aspects like the components of the application, its attributes, its features and functionality, kind of coverage needed, aim of the testing methodology and requirements of the software system or application.
- One test case tests only one feature, functionality or aspect of the software system or application.
- It is necessary that the test case is implemented properly and according to the specifications.
- If the test case is not implemented properly then it makes no sense of testing no matter how effective and efficient is the test case.
LOW LEVEL & HIGH LEVEL TEST CASES
There are basically two types of test cases about whom we shall be discussing in this article. These are namely low level test cases and high level test cases.
DIFFERENCES BETWEEN LOW LEVEL & HIGH LEVEL TEST CASES
DIFFERENCE #1:
- Low level test cases are developed pertaining to the low level bugs in a software system or application.
- On the other hand high level test cases are concerned with the bugs of high levels.
- Wherever a low level bug is suspected in the program code a low level test case is used for testing and wherever a high level bug persists, correspondingly a high level test case is used.
DIFFERENCE #2:
- High level test cases are developed for testing the major functionalities and features in a software system or application rather than just testing high level bugs.
- Major functionality may include display, update data base, retrieval and so on. They can be rather called test cases related to functionality.
- The low level test cases can be appropriately called test cases related to the user interfaces as they are very effective in testing the application’s user interfaces besides low level bugs.
DIFFERENCE #3:
- While carrying out the software testing, the high level test cases based on the requirements test the corresponding functionality.
- Requirements need to be identified properly so that there is no faltering while performing the test. This is called high level testing.
- Similarly testing carried out using low level test cases is called low level testing and is employed to test the software system or application at the micro level i.e., the expected outcome and the actual outcome.
DIFFERENCE #4:
- Low level test cases include the following test cases:
(a) For integration testing
(b) For unit testing
- On the other hand, the high level test cases are further sub divided into the following test cases:
(a) Test cases for system testing
(b) Test cases for functional testing and
(c) Test cases for acceptance testing.
DIFFERENCE #5:
- The high level test cases are able to provide better test coverage.
- They don’t focus much on the features and functionality but only to the extent that they should work properly and well in accordance with each other.
- The low level test cases are focused up on each and every minor detail of the program code.
- The program is tested in depth.
- Therefore we can say that the low level testing involves more detailed work than the high level testing.
DIFFERENCE #6:
- Low level testing and high level testing belong to the category of white box testing and black box testing respectively.
Posted by
Sunflower
at
2/25/2012 01:24:00 PM
0
comments
Labels: Application, Aspects, Components, Differences, Efficiency, Features, Functionality, High-level, Importance, Low level test cases, Methodology, Software Systems, Software testing, Test cases, Tests
|
| Subscribe by Email |
|
Wednesday, February 22, 2012
What is meant by entry and exit criterion in software testing?
There is always a certain reason, condition, or basis for doing something. One cannot perform a function just like that. The action or the task performed has to have some justification that why it was done. Certain type of criterion is employed in every phase of testing. Mostly they are employed in dynamic and static testing.
WHAT ARE TESTING CRITERION?
The testing criteria have been defined in to 4 types based on the testing phases in which they are employed. These 4 types of criteria have been discussed below:
- Entry criteria
We all know that this is the initial and starting phase of any testing methodology.
- Suspension criteria
Suspension criteria comes in to the play when in a phase the testing is halted so as to get the documentation is send to the development team for verification.
- Re- suspension criteria
Re- suspension criteria are employed when there changes to be made in the documentation as indicated by the development team after the verification.
- Exit criteria
This is the last phase of any testing methodology. The testing is declared complete when these criteria are met.
WHAT IS MEANT BY ENTRY CRITERION?
- Entry criteria as we mentioned above is encountered at the starting phase of any testing methodology.
- It is a kind of document that is needed for starting the testing process.
- It contains all the necessary conditions that have to be met before a testing is commenced.
- Usually the entry criteria are placed in the “approach to test” section of the test plan.
- For every step in the testing strategy some criteria are stated so there is no wasting of time and testing takes place efficiently.
- There are so many factors to be considered while deciding the criteria.
ASPECTS OF ENTRY CRITERION
There are 3 main aspects of entry criteria that have to be considered:
1. Approved Test Plan
- The test plan has to be developed long back before the testing starts.
- Before you commence the testing, you need to get your test plan approved by all the stake holders.
- All the possible risks are identified at this stage.
2. Availability of Resources
- The testing is carried out in a proper testing environment rather than a normal user environment.
- Resources like trained professionals with good testing skills, testing environment, test input data and paper work set up should be available before the testing starts.
3. Developed Tests
- All the test cases and scripts need to be developed before the commencement of the testing and must be verified by the stake holders.
WHAT IS MEANT BY EXIT CRITERION?
Now coming to the exit criteria, it is the criteria which are required to end a test cycle. Exit criteria include:
1. Deadlines for the completion of the testing.
2. Completion of test cases with some minimum passing percentage.
3. Depletion of the test budget.
4. Specific level to be attained by the code coverage, functionality coverage and requirements coverage.
5. Reduction in the number of bugs below a certain level.
6. The end of the testing period of alpha and beta testing.
IMPORTANCE OF ENTRY & EXIT CRITERION
- Entry and exit criteria hold a great importance in the whole testing process.
- Without any entry or exit criteria you will not know when to start or end the testing or when the testing is complete.
- Entry and exit criteria save much of our efforts.
- Apart from this, the entry and exit criteria also increase the knowledge of the tester about the application.
- With the help of these criteria you can quickly move up to the different phases of the test cycle without unnecessarily wasting your time and efforts on one thing.
Posted by
Sunflower
at
2/22/2012 11:45:00 PM
0
comments
Labels: Approach, Bugs, Completion, Conditions, Criteria, Defects, Document, Entry, Exit, Factors, Importance, Phases, Quality, Resources, Software testing, Steps, Tasks, Test Plan, Tests
|
| Subscribe by Email |
|
Monday, February 13, 2012
Why is documentation so important for software testing?
IMPORTANCE OF DOCUMENTATION
- Software documentation like other kinds of documentation is just a piece of plane text.
- Though just being plain text, its importance in the field cannot be neglected.
- You must have observed that whenever you purchase some software or application it comes with a documentation which contains user’s manual also.
- It is obvious that you must be using this user’s manual to understand and use the software better.
- The manual might have always helped you in diagnosis of your system whenever it might have had a break down, crash or hang.
- Documentation is a great help as it helps us in operating the software system or application.
- Documentation helps different people in different ways.
- Documentation has a very important role to play in the field of software engineering.
TYPES OF DOCUMENTATION
1.Requirements Documentation
- This documentation states all the requirements of a software system or application be it functional requirements or non functional requirements.
- Apart from the requirements it also states the features, functionalities, capabilities, attributes and characteristics of a software system or application. - This type of documentation serves as a foundation for the other documentations.
2. Technical Documentation
- This documentation contains the written code of the program and algorithm implemented.
- It also provides knowledge about the user interface of the software system or application.
- It also gives information about the APIs.
3. Marketing Documentation
- This documentation gives tip and information for marketing the software product.
4. Architectural Documentation
- This documentation is all about the internal structure of the software system or application.
- It explains how a particular software system or application is related to the environment and on what principles the construction of the program is based.
5. End user Documentation or User’s Manual
- This document is popularly known as user’s manual.
- It contains all type of knowledge that a user might need to operate the software system or for trouble shooting.
SOME FACTS ABOUT DOCUMENTATION
- Documentation introduces the software system or application to the user.
- It contains details about the software.
- Documentation can be thought of as a verified and validated agreement between the product developer and the buyer i.e., client.
- Documentation is modular in nature.
- It serves as road map for the user.
- It is said that if something is not present in the writing, it actually never happened.
- Documentation serves as a proof.
- If you don’t make a write up about the software, the client or the users will think that you are just making up the facts and if the things are there, they might have been done by some body else.
- You need to document every aspect of your software so that if later any dispute arises, none will be able to testify your work and decisions.
- Information contained in the documentation is very crucial and important.
- The software engineering industry is so documentation intensive.
Let us say that you have a program that got some problem like it crashed or hanged and the person in charge of the software is not available. Neither you know the structure and design of the program nor do you have any idea of how to mend the fault in the program. So what you will do in such a case?
Here documentation comes to your rescue.
- You have all the necessary details and tips on how to fix a fault and also the design of the program.
- It is important that the proper documentation is made available to each and every personnel of the software development team.
Posted by
Sunflower
at
2/13/2012 09:15:00 PM
0
comments
Labels: Application, Architectural, Client, Document, Documentation, Format, Importance, Marketing, Requirements, Software documentation, software engineering, Technical, User, User Manuals
|
| 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 |
|
Monday, December 12, 2011
What are different characteristics of documentation testing?
Though the term documentation is used is various different ways, it is usually used to refer to the process of providing the evidence.
- Documentation is very important and useful.
- It also refers to the process of the documenting the knowledge about a software system.
- But in the context of software engineering, documentation refers to the process of writing the software documentation.
- Individuals or the professionals who carry out the process of writing up of the software documentation are called documentalists.
Every documentation has to follow up a composure called documentation composure. According to the document composure it should include the following:
- Written information and instructions for any technical or projection performing,
- Data and media of any kind of format and details about the reproduction.
- Other related content.
Today documentation about any software system or application is available in many formats like user guides, user manuals, online help, white papers and quick reference guides. Nowadays documentation in hard copy is rarely seen.
- The documentation for software systems or applications is distributed to the open public via software products, on- line applications and websites.
- Certain principles are followed while preparing the documentation for the software or the hardware product.
- Documentalists always compulsorily follow the ISO standards.
- These standards are not available for the general public.
- Apart from principles, certain guidelines are also to be followed regarding the documentation.
The procedure for preparing a perfect documentation involves the following steps:
- Document drafting
- Formatting
- Submitting
- Reviewing
- Approving
- Distributing
- Repositing
- Tracking
Production of documentation involves contribution from corporate communicators and technical writers since the technical writers have an expert knowledge about the software and also they are good at writing contents. They are able to design the information architecture. They are able to easily cooperate with the SMEs or subject matter experts (who are none other than software developers, engineers and also other people like clients and customers) to prepare the kind of documentation the users need.
In the field of computer science, there exist the following types of documentation:
- RFP or request for proposal
- SOW or statement of work or scope of work
- Requirements
- System design and functional specifications
- Software design and functional specification
- Change management
- Error tracking
- Enhancement tracking
- UTA or user test and acceptance
Nowadays many kinds of software applications are used to create documentation. But, SDF or software documentation folder is the most used software application used by the engineers to create the documentation for the software system or application.
While the development of the software system or the application is in progress, the software engineers keep a written record detailing the build of the application which essentially includes an interface section, a requirements section in order to provide more details about the communication interface of the software system or application.
- Usually a notes section is provided giving the details about the proof of the concept, tracking errors and enhancements.
- Apart from this a testing section is also included to give the details about how the software system or application was tested.
- The documentation confirms to the requirements and specifications stated by the client or the customer.
- The final documentation is a detailed description of the build and design of the software.
- Apart from this, it lays down the instructions for installing and uninstalling the software.
- Documentation testing is thought of as the most cost effective testing.
- Any discrepancy in the documentation will cost too much.
- The documentation is tested in a variety of ways to check the degrees of the complexity of the software system.
Posted by
Sunflower
at
12/12/2011 06:58:00 PM
0
comments
Labels: Application, Composure, Data, Documentation, Documentation Testing, efficient, Importance, Instructions, Manuals, Principles, Software Systems, Standards, Steps, Technically, User guides
|
| Subscribe by Email |
|
Monday, December 5, 2011
What are different characteristics of stability testing?
Stability testing in the context of software testing and engineering as it itself
indicates, refers to the many attempts to determine if an application will crash.
- Stability testing seeks to find a fault, an error, a bug or a reason that can render the software system or the application as non working or which can make the application lame.
- The main objective of the stability testing is to determine if there are any grounds on the basis of which the software system or application should be kept void of certification and it also aims at finding some positive point on the basis of which the software system or the application can be granted the certification.
- For a software system or application to be certified, it should be in functional state and basically stable.
- This can only be done by applying specific and suitable criteria and tests for testing functionality and stability. This is nothing but the stability testing.
There are several criteria available for stability testing. Few have been discussed below in detail:
1. Pass or fail criteria
- Each primary function tested and then the results are recorded.
- Each and every individual function is operated or executed in a way that is apparently consistent with its objective or the purpose regardless of the degree of correctness of its result or output.
- The observations are recorded for analysis.
- It is certain that out of so many functions, at least one or two primary functions will prove incapable of operating in a way that it apparently consistent to their aim or purpose.
2. Functional ability of a software system or the application
- There is for sure some impairment in any software system.
- But that does not necessarily mean that the software system is not fit for normal use.
- Any software product or application is said to work abnormally in a way that it seriously impairs it for the normal usage.
3.Disruption criteria
- The software system or the application is observed to disrupt the normal functioning of the operating system.
4.Criteria of in-operability
- No primary function of the software system or application is observed to get obstructed and become inoperable and non functional during the course of the testing.
- There is at least one primary function of the software system or application is observed to get obstructed and become inoperable and non functional during the course of the testing.
5. The software system or the application is observed to crash, fail, loose data and hang.
Some Important Points:
- Stability can be defined as the ability of a software system or application to continue functioning in the case of over time and over its full range of functionalities without crashing, failing or hanging and loss of data.
- For a tester to know whether the software system is seriously unfit for normal and regular use, he /she is required to have a knowledge of how that software system or application works in a normal environment i.e., normal user and normal usage.
- In order to carry out the stability test, the tester requires knowing the types of data values which software system or application can effectively and efficiently process.
- To test for the instability of a software system, the tester needs to use his knowledge in order to give some challenging inputs to the system to fail the system.
Posted by
Sunflower
at
12/05/2011 05:56:00 PM
0
comments
Labels: Application, Bugs, Criteria, Disrupt, Errors, Fault, Functional, Functionality, Importance, Objectives, Quality, Software Systems, Stability, Stability testing, state, Tests
|
| Subscribe by Email |
|
Sunday, April 3, 2011
What role does documentation plays in development process?
Documentation is a set of documents or informational products to describe a computer system. Each document is designed to represent particular function like reference, instructional and motivational.
Some types of documentation and informational products are system features and functions, user and management summaries, users manual, video and multimedia, tutorials, demonstrations, reference guide, technical references, system test models,
operations/operators manual, wall charts, newsletters.
A useful document furthers the understanding of the system's desired andactual behavior and structure. The criteria for measuring usability of documents are readability, availability, suitability and accessibility.
Purpose of Documentation
- It provides a reasonably permanent statement of a system's structure or behavior through reference manuals, user guides and systems architecture documents.
- It serves as transitory documents that are part of the infrastructure involved in running real projects.
Importance of Documents and Manuals
- Cost saving.
- They serve as sales and marketing tools.
- They serve as tangible deliverables.
- They serve as contractual obligations.
- They serve as security blankets.
- They serve as testing and implementation aids.
- They are used to compare the old and new systems.
Posted by
Sunflower
at
4/03/2011 10:06:00 PM
0
comments
Labels: Accessibility, Availability, Cost Effective, Documentation, Goals, Importance, Manuals, Purpose, Readability, Software Development process, Suitability, Usability, User guides, User Manuals
|
| Subscribe by Email |
|
Thursday, February 17, 2011
Component Level Design - Definition, why it is important and what are the steps?
When the first iteration of architectural design is completed, component level design comes into picture. Intent of this phase is to translate the design model into operational software. The internal data structures and processing details of each component are not represented at a level of abstraction that is close to code. Component level design defines the data structures, algorithms, interface characteristics, and communication mechanisms allocated to each software component. A software engineer performs component level design.
Component level design is important because it is necessary to determine whether the software will work before you build it. The component level design represents the software in a way that allows you to review the details of the design for correctness and consistency with earlier design representations. It also provides a means for assessing whether data structures, interfaces and algorithms will work.
It is possible to represent component level design using a programming language. Component level design can also be represented by using some intermediate representation that can be translated easily into source code.
Define Component?
A component is a modular building block for computer software. Components should communicate and collaborate with other components as they reside within the software architecture. The meaning of component will differ depending on the point of view of software engineer using it. There are three different views of defining component :
- An Object oriented view
- The Conventional view
- A Process-related view
Steps in Component Level Design
- Design representations of data, architecture, and interfaces form the foundation of component level design.
- Class definition or processing narrative for each component is translated into detailed design that makes use of diagrammatic or text based forms that specify internal data structures, local interface detail, and processing logic.
- The procedural design is specified using a set of structured programming constructs.
Posted by
Sunflower
at
2/17/2011 03:26:00 PM
0
comments
Labels: Architectural, Component Level Design, Components, Coupling, Data, Design, Importance, Iteration, Object Oriented, Principles, program, Steps, System Modeling, Tasks
|
| Subscribe by Email |
|
Wednesday, September 8, 2010
Automated Regression Testing and its features
Automated regression testing refers to the process by which computer software is regression tested in an automated manner by using testing scripts. These scripts are run against software code for validating the changes that has been made to the code.
Test scripts are the instructions which include the requirements for inputs and outputs of a test case. Each test case is entered into a test script to create a full test harness of an application. Test scripts can be automated by writing code that will execute the instructions within a test case. The simplest way to set up automated regression testing is to construct a suite of test cases, each of which consists of a test input file and a "correct answer" output file.
Automated regression testing is important because :
- It provides portability when the code is moved to another machine.
- A confidence is achieved that changing the program has not introduced any bug.
- Automating regression testing allows users to manage the ever increasing number of test cases and suites, while ensuring both reliability and afford ability.
- Testing efforts are reduced to a greater extent.
- It could be tested in parallel with product development.
- Test coverage is increased.
Posted by
Sunflower
at
9/08/2010 12:35:00 PM
0
comments
Labels: Advantages, Automated Regression testing, Automated Testing, efficient, Importance, Portability, Process, Regression, Regression Testing, Software, Test cases, Test Scripts
|
| Subscribe by Email |
|
Monday, April 5, 2010
Overview of Network Time Protocol (NTP)
Networked computers share resources such as files. These shared resources often have time-stamps associated with them so it is important that computers communicating over networks, including the Internet, are synchronized. The Network Time Protocol (NTP) is an Internet Standard Recommended Protocol for communicating the Coordinated Universal Time (UTC) from special servers called time servers and synchronising computer clocks on an IP network.
The NTP daemon can not only adjust its own computer's system time. Additionally, each daemon can be a client, server, or peer for other NTP daemons:
- As client it queries the reference time from one or more servers.
- As server it makes its own time available as reference time for other clients.
As peer it compares its system time to other peers until all the peers finally agree about the "true" time to synchchronize to.
Clock Strategy
NTP uses a hierarchical, semi-layered system of levels of clock sources, each level of this hierarchy is termed a stratum and assigned a layer number starting with 0 (zero) at the top. The stratum level defines its distance from the reference clock and exists to prevent cyclical dependencies in the hierarchy.
Importance of NTP
In a commercial environment, accurate time stamps are essential to everything from maintaining and troubleshooting equipment and forensic analysis of distributed attacks, to resolving disputes among parties contesting a commercially valuable time-sensitive transaction.
In a programming environment, time stamps are usually used to determine what bits of code need to be rebuilt as part of a dependency checking process as they relate to other bits of code and the time stamps on them, and without good time stamps your entire development process can be brought to a complete standstill.
So, time is inherently important to the function of routers and networks. It provides the only frame of reference between all devices on the network. This makes synchronized time extremely important and this is where Network Time Protocol comes into picture.
Supported Platforms
NTP's native operating system is UNIX. Today, however, NTP runs under many UNIX-like systems. NTP v4 has also been ported to Windows and can be used under Windows NT, Windows 2000, and newer Windows versions up to Windows Vista and Windows 7.
The standard NTP distribution can not be run under Windows 9x/ME because there are some kernel features missing which are required for precision time keeping.
Posted by
Sunflower
at
4/05/2010 07:08:00 PM
0
comments
Labels: files, Importance, IP address, Network Time Protocol, Networks, NTP, Platforms, Protocols
|
| Subscribe by Email |
|