Subscribe by Email


Showing posts with label Stages. Show all posts
Showing posts with label Stages. Show all posts

Sunday, March 24, 2013

What are types of artificial neural networks?


In this article we discuss the types of artificial neural networks. These models simulate the real life biological system of nervous system.
1. Feed forward neural network: 
- This is the simplest type of neural network that has been ever devised. 
- In these networks the information flow is unidirectional; therefore the data moves only in forward direction. 
- From input nodes data flows to the output nodes via hidden nodes (if there are any). 
- In this model there are no loops or cycles. 
- Different types of units can be used for constructing feed forward networks for example, McCulloch – pitts neurons.
- Continuous neurons are used in error back propagation along with the sigmoidal activation.
2. Radial basis function network: 
- For interpolating in a multi – dimensional space radial basis functions are the most powerful tools. 
- These functions can be built in to criterion of distance with respect to some center.
- These functions can be applied in the neural networks. 
- In these networks, sigmoidal hidden layer transfer characteristic can be replaced by these functions.
3. Kohonen self–organization network: 
- Un–supervised learning is performed with the help of self – organizing map or SOM. 
- This map was an invention of Teuvo Kohonen.
- Few neurons learn mapping points in the input space that could not coordinate in the output space. 
- The dimensions and topology of the input space can be different from those of the output space. SOM makes an attempt for preserving these.
4. Learning vector quantization or LVQ: 
- This can also be considered as neural network architecture. 
- This one also was a suggestion of Teuvo Kohonen.  
- In these prototypical representatives are parameterized along with two important things namely, a classification scheme based - up on distance and a distance measure.
5. Recurrent neural network: 
- These networks are somewhat contrary to the feed forward networks. 
- They offer a bi–directional flow of data.
- On a feed forward network data is propagated linearly from input to output. 
- Data from later stages of processing is also transferred to its earlier stages by this network. 
- Sometimes these also double up as the general sequence processors. 
- Recurrent neural networks have a number of types as mentioned below:
Ø  Fully recurrent network
Ø  Hopfield network
Ø  Boltzmann machine
Ø  Simple recurrent networks
Ø  Echo state network
Ø  Long short term memory network
Ø  Bi – directional RNN
Ø  Hierarchical RNN
Ø  Stochastic neural networks
6. Modular neural networks: 
- As per the studies have shown that human brain works actually as a collection of several small networks rather than as just one huge network, this ultimately helped in realizing the modular neural networks where smaller networks cooperate in solving a problem. 
- Modular networks are also of many types such as:
Ø  Committee of machines: Different networks that work together on a given problem are collectively termed as the committee of machines. The result achieved through this kind of networking is quite better than what is achieved with the others. The result is highly stabilized.
Ø  Associative neural network or ASNN: This is an extension of the previous one. And extends a little beyond the weighted average of various models. This one is a combined form of the k- nearest neighbor technique (kNN) and the feed forward neural networks. Its memory is coincident with that of the training set.
7. Physical neural network: 
- It consists of some resistance material that is electrically adjustable and capable of simulating the artificial synapses.
There are other types of ANNs that do not fall in any of the above categories:
Ø  Holographic associative memory
Ø  Instantaneously trained networks
Ø  Spiking neural networks
Ø  Dynamic neural networks
Ø  Cascading neural networks
Ø  Neuro – fuzzy networks
Ø  Compositional pattern producing networks
Ø  One – shot associative memory


Friday, March 1, 2013

What is an Agile Process Improvement?


A process improvement program is successful only when the meaning of the word ‘process’ is clearly understood. Process means work. So when one improves, the other one also improves. The quality of the software depends a lot on the process. Whenever a change is introduced, a temporary drop in performance is always recorded. In most cases what happens is that the organization stops the implementation of changes fearing the disruption in the normal work since so much effort is required. To avoid such situations, the changes need to be adaptive. It is the agile process improvement that makes this possible. You might say that such a way of iterative improvement is not new. Well, the agile techniques introduce discipline in the whole program.


Stages of Agile Process Improvement

The following are the stages of the agile process improvement:
  1. Initiating:
Ø  Stimulus of change
Ø  Set context
Ø  Build sponsorship
Ø  Charter infrastructure
  1. Diagnosing:
Ø  Characterize current and desired states
Ø  Develop recommendation
  1. Establishing:
Ø  Set priorities
Ø  Develop approach
Ø  Plan actions
  1. Action:
Ø  Create solution
Ø  Test solution
Ø  Refine the solution
Ø  Implement solution
  1. Learning:
Ø  Analyze
Ø  Validate
Ø  Propose future actions

- The improvement cycles are meant to be followed systematically so that the results might be obtained in time ranging from 2- 6 weeks.
- The whole process lets you maintain a balance the workload as well as the improvement. 
- The flow of the process is as follows:
  1. Prioritized list of improvements
  2. Detailed plan for the current cycle
  3. Implemented improvement
  4. Feedback
- After this process, the following becomes possible for the organization:
  1. Identification and resolving of the issues earlier in the cycle.
  2. Learning process regarding how to tackle difficulties and working of this process.
  3. Adaption to the business needs that keep changing.
  4. Giving response to the feedback.
- The sponsor holds the responsibility for prioritizing the improvement backlog at the start of each sprint. 
- Also, he is the one responsible for ROI. 
- Prioritization is a good tool for the sponsor to direct the change. 
- Using prioritization, the goals and feedback can be revised from quality assurance. 
- A focus can be kept on the benefit received from each improvement cycle. 
PPQA deploys and evaluates the improvement in organization in every sprint. - The improvement package consists of 4 sprints namely:
  1. Prototyping
  2. Piloting
  3. Deploying
  4. Evaluating
- Active participation and leadership is required for a change to take place. 
- An endorsed vision and status quo is required for the beginning of the process. 
- Both of these are established via SCAMPI and CMMI. 
- The change is led by the management on an everyday basis.
- An excellent description is provided by the generic practices of CMMI for the leadership purpose.
- Similarly participation is a key element that is facilitated by the change team. - A vision is required for initiating the improvement project. 
- The initial improvement backlog is defined by 3 things namely scrumMaster, change team and the work owner i.e., the sponsor all based up on an assessment. 
- The organization is facilitated by the change team.
- With each sprint a tangible improvement is delivered. 
- The change is led by the management in a sprint.
- The effect introduced by the change is evaluated at the end of each sprint by PPQA. 
-The new improvements are defined by the work-owner who is also responsible for adding those in to the backlog of improvements and prioritizes it.
-Commitment is supported at the end of the sprint by appraisal.
-The improvements can also be continuously integrated in to the organization’s way of working. 


Monday, February 25, 2013

What is meant by Software Process Improvement?


About Software Process Improvement

- SPI or Software Process Improvement is a program that has been developed to provide guidance for the integrated long – range plan for the initiation and management of the SPI program. 
- SPI is based up on a model called the IDEAL model which has the following 5 major stages:
  1. Initiating
  2. Diagnosing
  3. Establishing
  4. Acting
  5. Leveraging
- These 5 major steps form a continuous loop. 
- However, the time taken for the completion of one cycle varies from one organization to other. 
- Depending on the available resources an organization must be able to decide whether or not it would be able to commit to software process improvement. 
SPI requires many activities to be carried out in parallel to each other. 
- Some part of the organization may take care of the activities in one phase while others take care of the other phase activities.
- Practically, the boundaries of the various stages in a software process improvement are not clearly defined. 
- The infrastructure also plays a great role in the success of the SPI. 
- The value added to SPI by infrastructure just cannot be underestimated. 
- It provides a great help in understanding its roles.

About Initiating Phase

- As the name indicates this is the starting point of the process. 
- This stage involves setting up of the improvement infrastructure. 
- Then the infrastructure’s roles and responsibilities are defined. 
- The resources are checked for availability and assigned.
- Finally, an SPI plan that will guide this initiating phase as well as the other higher stages. 
- It is during this stage that the goals of the software process improvement are defined and established based up on the organization’s business needs. 
- During the establishing phase these goals are further refined and specified.
Two components are typically established namely:
Ø  A software engineering process group or SEPG
Ø  A management steering group or MSG 

About Diagnosing Phase

- In this stage, the organization as per the SPI plan starts. 
- This stage serves as foundation for the stages that will follow. 
- The plan is initiated keeping in view the vision of the organization along with its business strategy, past lessons, current business issues and long term goals. 
- Appraisal activities are carried out so that a baseline of the current state of the organization. 
- The results of these activities are reconciled with the existing efforts so as to be included in the main plan.

About Establishing Phase

 
- In this stage the issues to be addressed by the improvement activities are assigned priorities.
- Also, the strategies for obtaining a solution are also pursued. 
- The draft of the plan is completed as per the organization’s vision, plan, goals and issues. 
- From general goals, measurable goals are developed and put in to the final SPI plan. 
- Metrics essential to the process are also defined.

About Acting Phase

 
- Solutions addressing the improvement issues discovered in the previous stages are created and deployed in and out of the organization. 
- Other plans are developed for the evaluation of the improved processes.

About Leveraging Phase

 
- This stage is led by the objective of making the next pass through the process more effective. 
- By this time the organization has developed solutions and metrics concerning performance and achievement of the goals. 
- All this data obtained is stored in a process database that will later serve as source information for the next pass. 
- Also, this information would be used for the revaluation of the strategies and methods involved in the SPI program.
- Software process improvement activities work with two components namely, the tactical component and the strategic component. 
- The former is driven by the latter that is based up on the needs of the organization. 


Thursday, February 21, 2013

Explain Janova - Web Functional/Regression Test Tool


About Janova Testing Tool

- Janova is another tool in the class of the web testing tools but certainly better since it is automated. 
- The major characteristic feature that sets this testing tool apart from the others is its capability of running the tests in the cloud with security and reliability. 
- Janova can be configured using the project structures of features such as pages, test scripts and flows for accessing the web – based applications and defining its requirements in natural language such as English. 

How the application is supposed to work is described by its features.

- Firstly, the feature is created, verification elements are defined by the user that is supposed to be on that particular web page. 
- The tool also provides the detailed result reports concerning the tests performed. 
- Janova is all about automated testing in cloud which is powerful, effective and simple. 
- Using Janova, you can write tests in simple English. 
- Therefore, the need for coding is eliminated. 
- The tests are executed via the power of the cloud. 
- The detailed reports help you to understand the results of your test. 
- The plain English business rules are turned in to the tests by Janova. 
- Since the tests are run in the cloud, the need for keeping the software up to date and disparate files is reduced.
- Also, you don’t need to spend thousands of dollars on the maintenance of the software testing equipment.
- For producing the code – free business requirements the features, flows and pages. 
- These requirements then become the automated tests that can be executed in the cloud at a speed that is 20 times faster than the usual web testing tools. 

How Janova actually works?

- Janova offers such an automated testing solution that lets you test an application across various environments. 
- You can use the power of the cloud for multiplying the effective workload and at the same time can track the progress of your development team. 
- Janova has been designed in such a way that the brittleness that other testing solutions have can be avoided.
- If the business requirements undergo any changes, they are automatically reflected in the tests since the tests are requirements and requirements are tests. 
- Therefore, changes made in one are reflected in the other.
- Using just plain English you can create a test in very less time that would be capable of creating and updating the variables automatically.
- It would also link the variable through the system of features, steps, scenarios, and pages.
-The tests are defined at a very high level allowing you to implicitly understand the desired outcome of the test. 
- Once you are done with the creation of the features and scenarios, you can define the variables by right – clicking on the ‘inspect element’ option with any tools preferred by the developer and moving that info in to the page files. 
What if you encounter an error in the page files? 
- Janova provides solution for this also. 
- You can edit it here and the changes will be retroactively be updated within the tests. 
- The application under test goes through the following stages:
  1. Janova application
  2. Broker
  3. Workers
  4. Secure access
  5. Results
- Janova operates through the cloud – based system of workers.
- It scales and delegates the processing power automatically ensuring that you get results for your tests as fast as possible.
- The plain language syntax is converted in to a testing script. 
- This script is then distributed throughout the cloud.
- Janova has partnered with GoodData (which is a business intelligence provider) in order to provide it users with a more powerful analytic suite.


Monday, January 14, 2013

What are requirements for Cleanroom Software Engineering? What is the need for CSE?


The process got its name from the term cleanroom which is part of the process that fabricates the semiconductors. The basic ideology behind the cleanroom software engineering process is that it is more focused up on avoiding the defects rather than removing them.  It makes use of a combination software quality methods and formal methods. Cleanroom software engineering has shifted the individual craftsmanship to peer reviewed process, from sequential development to incremental one, from informal designing to discipline specification and designing, from informal coverage to statistical usage testing and so on.
Cleanroom software engineering is actually an integration of the following three practices:
  1. Program verification
  2. Software engineering modeling
  3. Statistical software quality assurance
The correctness of the design specifications is verified via mathematically based proof solutions. The role of the statistical usage testing here is to dig out the high impact errors. 
The following the stages through the incremental development:
1.   Establishing the requirements
2.   Formal specifications
3.   Development of the increment
4.   Delivery of the software
5.   Requirements change request

Why Cleanroom Software Enginnering is required?

- Cleanroom software engineering is required to develop software systems and application with zero defects. 
- Though it takes a lot of time to be implemented but the payoff is quite high and both quality and productivity are increased. 
- The actual cleanroom process begins after the formal specification has been done. 
- The focus then shifts towards building a more explicit design. 
- Next, the design is verified as per the specifications. 
- Two things namely statistical and mathematical reasoning are combined and used together by the cleanroom approach for test generation and testing as well. 
- Cleanroom software engineering has proven to be the first practical attempt for developing the software with statistical quality control and delivering the software product with a known MTTF.

Requirements of Cleanroom Software Engineering

- The key requirements of cleanroom approach are nothing but specifications, requirements and verification methods.
- These formal specifications and verifications are used for developing software of high quality and with a minimum of errors. 
- Statistical usage testing is also required for the evaluation of the reliability of the software product. 

Cleanroom software engineering is followed by a number of benefits:
  1. Zero failures: This is the objective itself and the software is developed with a minimum number of errors if zero not possible.
  2. Short development cycles: These are the resultant of the incremental process. The rework is avoided and therefore new teams get a chance to experience productivity increase that has increased by two folds.
  3. Longer product life: The product life is kept longer with the help of a usage model and investments detailed specifications.
- It is also a fact that the cleanroom techniques are not much used since some people believe them to be too mathematical, theoretical, radical etc. to be used in the real development processes. 
- Also, these techniques rely heavily on the statistical quality control and correctness verification rather than relying on unit testing. 
- This means that there is a large deviation from the traditional software development approach. 
- Proving the program is always there in the option list but it requires a lot of intensive sophisticate mathematical work. 
- Therefore, in place of this, cleanroom uses an alternative.
- A team code inspection is structured in terms of verification conditions and program functions.
-  Then an informal review is carried out which confirms whether or not all the verification conditions have been satisfied. 


Monday, November 26, 2012

How to add and match defects in Test Director?


Location of the defects and their effective repair forms an inseparable part of the application development and indeed of the test director testing process. Defects can be submitted by almost everyone involved with the development process such as the developers, end users and of course testers. The test director eases all the testing processes and thus defects can be submitted through it and can be tracked until they are appropriately repaired. 

In this article we shall discuss the following two things:
  1. Adding defects in the test director and
  2. Matching defects in test director

Steps in adding defects in Test Director

Whenever a defect is submitted to the test director it is processed through the following  four stages:
  1. New
  2. Open
  3. Fixed
  4. Closed
Addition of the defects to the test director can be carried out at almost any stage of the test process. Below we state the steps that you need to follow in order to add the defects in test director:
  1. Open the test director project with which you are concerned and log on to it.
  2. Next step involves displaying the defects module by clicking on the defects tab. The defect data will be displayed by the defects grid in a grid where each row is a representation of an individual defect record.
  3. Clicking on the add defect button will open up the ‘add defect’ dialog box. The fields displayed in red color are mandatory to be filled up.
  4. Fourth step involves describing the defect by providing the following details:
a) Summary: i.e., what problem the defect actually caused.
b) Category
c)  Severity
d) Subject
e) Detected in version
f) Description:
It includes the part of the code where the defect was discovered and 
what problem was actually encountered.
  1. Now you need to attach the URL address for the page where the defect was found by clicking on the Attach URL button. Clicking on that button will open up a attach URL dialog box. There type the address of the page and click OK. This URL will be displayed above the description box by the test director.
  2. Next run a spell check for the text in the description box. If any errors are found follow the replacement suggestions.
  3. Click on the submit button to submit the defect to the test director project.
  4. Finally, close the add defect dialog box by clicking on the close button. The defect will be added to the defect grid.

How to match defects in Test Director

- The purpose of matching the defects is to find similar defects so that the duplicate ones can be eliminated from the project. 
-  Every time a new defect is added the list of keywords is stored by the test director from the description and summary fields. 
-  The stored keywords are then used for matching the defects. 
- Articles, coordinate conjunctions, wildcards and Boolean operators are ignored by the test director while matching the two tests. 
- Below mentioned steps are for matching defects in test director:
  1. Like for adding the defects this also requires displaying the defects module. Do this by clicking on the defects tab.
  2. From the defects grid select the one you want to match. If in case you cannot find the required test search it using the clear filter/ sort button.
  3. Now click on the find similar defects button to find similar defects. The results will be displayed in the similar defects dialog box by the test director.The defects are searched based up on percentage of the similarity detected.
  4. Finally, click on the close button to close the similar defects dialog box. 


Thursday, November 22, 2012

How to track defects in Test Director?


A software system or application cannot be considered productive and useful if it is full of defects. Hence, it becomes quite essential that all the defects present in the software system or application are located and repaired appropriately during the development process.
The end users, testers and developers can submit the defects that are detected during all the phases of the testing process. The test director helps incredibly in the submission of the defects detected in the software and tracking of them till they are well repaired. 

Life-cycle of a Defect

- Whenever a defect is submitted to the test director project, there are certain stages through which the defects are tracked namely:
  1. New
  2. Open
  3. Fixed
  4. Closed
- Once a defect is fixed, the tester can either reject it or reopen it. 
- At the initial stage of reporting the defect to the test director, the status that is assigned to the defect is ‘new’ by default. 
- The defect is reviewed by either a quality assurance or a project manager and it is determined whether or not the defect is to be considered for repair. 
- If the defect is not considered for repair i.e., if it is rejected the status ‘rejected’ is assigned to it. 
- If the opposite case is there i.e., if the defect is accepted for repair it is assigned a repair priority by the project manager or quality assurance and the status ‘open’ is assigned to it. 
- This defect is now assigned to one of the members of the development team for repair. 
- The developer repairs the defect and then the status ‘fixed’ is assigned to it. 
- The software system or application is then retested, thus ensuring that there is no occurrence of the defect again. 
- Even if in case the defect recurs, it is again assigned a new status ‘reopened’ by the quality assurance or project manager. 
- But if the defect gets properly repaired the status ‘closed’ is assigned to it by any of the two managers. 
- The test director also provides the option of adding some new defects to an existing test director project. 
- All information and data regarding the defects found within a software system or application is handled by the defects module of the test director.
- The following are the defects that are undertaken by the defects module of the test director:
  1. Creation of the defects.
  2. Editing of the defects.
  3. Linking defects to each other.

Stages of Defect Tracking Process

The following stages are involved in the defects process:
  1. Adding of the defects
  2. Reviewing of the new defects
  3. Repairing open defects
  4. Testing of new build
  5. Analyzation of the defect data
- In the first stage of the defect tracking process, the new defects detected in the software system or application are reported. 
- In the next stage, the new defects are put through a review process and the defects to be fixed are determined. 
- In the third stage, the defects are corrected by the developers who have been assigned to do the task.
- In the fourth stage, the new build of the application is tested and this process is continued until and unless all the defects are repaired. 
- The last stage of the defect tracking process witnesses the generation of the reports so as to provide some assistance to the developers for the analyzation of the progress of repairing the defects. 
- Also, in this stage, the date of release of the software system or application is determined. 
- Later, it is determined whether to cancel the rejected defects or take action on them further. 
- The following productivity tools assist the process:
  1. Views
  2. Filters
  3. Sort
  4. Manage columns
  5. Favorites


Facebook activity