Documentatie

13 Mai

Software Testing – Flash Object Automation using Selenium

By admin | 1 comment

1

If you work in web application testing, you probably know that Selenium is one of the best tool for automating web applications. Though it can be used to test various aspects of web application, sometime you need to find your way around when using Selenium, one such situation is testing flash component using Selenium. Developers use Flash to beautify their websites, but it makes test automation a challenging task because Selenium can not read or record any actions on flash objects.
There are two main issues that needs to be addressed while automating web applications involving flash objects -

  • Verifying a certain value is set or it exists or not or in simple terms you need to ‘get’ certain properties of the object and compare it against your benchmarks
  • Performing actions on an object or ’set’ certain values.

    Read more

13 Mai

Integration Testing: Why? What? & How?

By admin

Introduction:

As we covered in various articles in the Testing series there are various levels of testing:

Unit Testing, Integration Testing, System Testing

Each level of testing builds on the previous level.

“Unit testing” focuses on testing a unit of the code.
“Integration testing” is the next level of testing. This ‘level of testing’ focuses on testing the integration of “units of code” or components.

How does Integration Testing fit into the Software Development Life Cycle?

Read more

13 Mai

Software Quality Management

By admin | 2 comments

2

This article gives an overview of Software Quality Management and various processes that are a part of Software Quality Management. Software Quality is a highly overused term and it may mean different things to different people. You will learn What is Software Quality Management?, What does it take to Manage Software Quality?, Quality Planning, Quality Assurance, Quality Control, Importance of Documentation and What is Defect Tracking?

The definition of the ISO 8204 for quality:

Totality of characteristics of an entity that bears on its ability to satisfy stated and implied needs.

This means that the Software product delivered should be as per the requirements defined. We now examine a few more terms used in association with Software Quality.

Quality Planning:
In the Planning Process we determine the standards that are relevant for the Software Product, the Organization and the means to achieve them.

Read more

13 Mai

Life Cycle of Testing Process

By admin | 2 comments

2

This article explains about Differant steps in Life Cycle of Testing Process. in Each phase of the development process will have a specific input and a specific output. Once the project is confirmed to start, the phases of the development of project can be divided into the following phases:

  • Software requirements phase.
  • Software Design
  • Implementation
  • Testing
  • Maintenance

In the whole development process, testing consumes highest amount of time. But most of the developers oversee that and testing phase is generally neglected. As a consequence, erroneous software is released. The testing team should be involved right from the requirements stage itself.

The various phases involved in testing, with regard to the software development life cycle are:

1. Requirements stage
2. Test Plan
3. Test Design.
4. Design Reviews
5. Code Reviews
6. Test Cases preparation.
7. Test Execution
8. Test Reports.
9. Bugs Reporting
10. Reworking on patches.
11. Release to production.

Read more

13 Mai

Best Practices in Automated Testing

By admin | 3 comments

3

This article talks about many interesting things like what’s the Case for Automated Testing, Why Automate the Testing Process?, Using Testing Effectively, Reducing Testing Costs, Replicating testing across different platforms, Greater Application Coverage, Results Reporting, Understanding the Testing Process, Typical Testing Steps, Identifying Tests Requiring Automation, Task Automation and Test Set-Up and Who Should Be Testing?.

The Case for Automated Testing

Today, rigorous application testing is a critical part of virtually all software development projects. As more organizations develop mission – critical systems to support their business activities, the need is greatly increased for testing methods that support business objectives. It is necessary to ensure that these systems are reliable, built according to specification and have the ability to support business processes. Many internal and external factors are forcing organizations to ensure a high level of software quality and reliability.

Read more

13 Mai

Challenges in Testing Web Based Applications

By admin

In this tutorial you will learn about Challenges in Testing Web Based Applications Introduction, Why testing Web Applications is different? Factors effecting Testing of Web Applications, Why technology platforms affect testing? Challenges in Testing Web Based Web Applications, Summary.

Introduction:

Web based Applications are increasingly becoming more feature rich, important and also the most popular means for developing commercial systems. Most companies opt for developing web based software wherever possible. This helps in catering to large number of end users. The deployment of the apps (once the infrastructure is in place) is fairly easy.

The web based applications are powerful and have the ability to provide feature rich content to a wide audience spread across the globe at an economical cost.

Hence it is a daunting task to test these applications and with more and more features testing these apps is becoming even more complex.
In this article we will study the challenges faced when testing these applications

Why testing Web Applications is different?

Testing web applications is different because of many factors scenarios affecting the performance and user experience.
Web applications can typically cater to a large and a diverse audience. Web Applications can also be exposed to wide range of security threats. Web applications may open up illegal points of entry to the databases and other systems holding sensitive information.

To ensure that the web application works reliably and correctly under different situations these factors need to be accounted for and tested.

Hence a lot of effort needs to put in for Test Planning and Test Design.
Test Cases should be written covering the different scenarios not only of functional usage but also technical considerations such as Network speeds, Screen Resolution, etc.

For example an application may work fine on Broad Band internet users but may perform miserably for users with dial up internet connections.
Web Applications are known to give errors on slow networks, whereas they perform well on high speed connections.
Web pages don’t render correctly for certain situations but work okay with others.

Images may take longer to download for slower networks and the end user perception of the application may not be good.

Read more

13 Mai

Auditing Software Testing Process

By admin

Auditing Software Testing Process

In this tutorial you will learn about Auditing Software Testing Process – Introduction, Types of Testing Process Audits, Audit to verify compliance, Audit for process improvement/problem solving,
Audit for Root Cause Analysis, Internal Audits, External Audits, Why Audit Software Testing Process? How to Audit, What can be audited? and Summary.

Introduction:

To ensure transparency and reliability of the IT systems it may be necessary to audit the Software Development Processes including the most important aspect – Software Testing Process.
Auditing is an important activity in organizations. In the context of testing it helps us ensure that the Testing processes are followed as defined.

Types of Testing Process Audits

There can be various reasons to conduct Audits. The Audits may serve aim to achieve certain definite goals. Based on that we can classify them as follows:

Audit to verify compliance: In this type of auditing the prime motivation is to judge if the process complies with a standards. In these scenarios, the actual testing process is compared with the documented process. For example ISO Standards require us to define our Software testing process. The audit will try to verify if we actually conducted the testing as documented

Audit for process improvement/problem solving:
In this type of audit the motivation is to audit and trace the various steps in the process and try to weed out process problems. For instance it is observed that too many software defects escaped detection even though the testing process was apparently followed. So the audit is done as a preliminary step to collect facts and analyze them.

Audit for Root Cause Analysis
In this type of audit the motivation is to audit the testing process is to find a Root Cause of a specific problem. For example the customers discovered a huge problem with the software. So we retrace our testing steps to find out what went wrong in this specific case.

Internal Audits
Typically the internal audits are initiated from within the organizations

External Audits
External Audits are done by and initiated by external agencies

Why Audit Software Testing Process?

Auditing Test Process helps the management understand if the process is being followed as specified. Typically Testing audit may be done for one or more of the following factors:
• To ensure continued reliability and integrity of the process
• To verify compliance of standards (ISO, CMM, etc)
• To solve process related problems
• To find the root cause of a specific problem
• To detect or prevent Fraud
• To improve the Testing process

Auditing of the Testing process may also be done if the Software Product is a mission critical one such as used for Medical Life Support Systems
This is done to prevent any loop holes or bugs in the system

How to Audit

Typically the Audit of the Testing Process will include the following steps:

• reviewing the Testing process as documented in the Quality Manual
This helps the auditor understand the process as defined.

• Reviewing the deliverable documents at each step

• Document reviewed include
…………… Test Strategy
…………… Test Plans
…………… Test Cases
…………… Test Logs
…………… Defects Tracked
…………… Test Coverage Matrix
…………… any other relevant records

Each of the above document provides a certain level of traceability that the process was followed and the necessary steps were taken

• Interviewing the Project Team at various levels – PM, Coordinator, Tester
Interviewing the Project Team members gives an understanding of the thought process prevalent in those conducting the Testing Process.
This can provide valuable insights over an above what was actually documented

ISACA – ww.isaca.org provides guidelines and standards for Auditing Information Systems & Software Development Lifecycle

CISA stands for Certified Information Systems Auditor

Similarly independent agencies may verify the Test Processes and SDLC for ensuring compliance with FDA ( Food and Drug Administration)

What can be audited?

Read more

13 Mai

Testing for Agile Software Development

By admin

In this tutorial you will learn about Testing for Agile Software Development – Background, Understanding Agile Software Development, How is Testing approach different in an Agile Development Scenario? What to test? Typical bugs found when doing agile testing? Steps Taken to Effectively Test in Agile Development Methodology, Ensuring software test coverage and Summary
Background:
To understand the Testing Process in an Agile Development Methodology, it is important to understand the Agile Development paradigm.
Agile Development paradigm is not very new. Although the Agile Software Development Manifesto came into existence in February 2001, the concepts existed long before that and were expressed in different ways. Spiral Development Methodology is one such example.
Understanding Agile Software Development:
The Agile Software Development primarily focuses on an iterative method of development and delivery.
The developers and end users communicate closely and the software is built. A working piece of software is delivered in a short span of time and based on the feedback more features and capabilities are added.
The focus is on satisfying the customer by delivering working software quickly with minimum features and then improvising on it based on the feedback. The customer is thus closely involved in the Software Design and Development Process.
The delivery timelines are short and the new code is built on the previous one.
Despite this, high quality of the product cannot be comprised.

This creates a different set of challenges for Software Testing.
How is Testing approach different in an Agile Development Scenario?
The Testing Strategy and Approach in Agile Development could be very different from traditional bureaucratic methods. In fact it could vary with project needs and the project team.
In many scenarios, it may make sense to not have a separate testing team.
The above statement should be understood carefully. By not having a testing team we do not consider testing to be any less important. In fact testing can done more effectively in short turn around times, by people who know the system and its objectives very well.

For example in certain teams Business Analysts could be doing a few rounds of testing each time the software version is released. Business Analysts understand the Business Requirements of the Software and test it to verify if it meets the requirements.

Developers may test the software. They tend to understand the system better and can verify the test results in a better way. Testing for AGILE Software Development requires innovative thinking and the right mix of people should be chosen for doing the testing.
What to test?
Given the relatively short turn around times in this methodology it is important that the team is clear on what needs to be tested. Even though close interaction and innovation is advocated rather than processes, sufficient emphasis is given to the testing effort.

While each team may have its own group dynamics based on the context, each code has to be unit tested. The developers do the unit testing to ensure that the software unit is functioning correctly.
Since the development itself is iterative it is possible that the next release of code was built by modifying the previous one. Hence Regression Testing gains significant importance in these situations.

The team tests if the newly added functionality works correctly and that the previously released functionality still works as expected.

Test Automation also gains importance due to short delivery timelines. Test Automation may prove effective in ensuring that everything that needs to be tested was covered.
It is not necessary that costly tools be purchased to automate testing. Test Automation can be achieved in a relatively cost effective way by utilizing the various open source tools or by creating in-house scripts. These scripts can run one or more test cases to exercise a unit of code and verify the results or to test several modules.
This would vary with the complexity of the Project and the experience of the Team
Typical bugs found when doing agile testing?
Although nothing is typical about any Agile Development Project and each project may have its own set of complexities, by the very nature of the paradigm bugs may be introduced in the system when a piece of code is modified/enhanced/changed by one or more Developers.

Whenever a piece of code is changed it is possible that bugs have been introduced to it or previously working code is now broken. New bugs/defects can be introduced at every change or old bugs/defects may be reopened.
Steps Taken to Effectively Test in Agile Development Methodology:
As a wise person once said there is no substitute to hard work.
The only way one can effectively test is by ensuring Sufficient Test Coverage and Testing Effort Automated or otherwise.
The challenge could be lack of documentation, but the advantage could be close communication between team members thereby resulting in greater clarity of thought and understanding of the system.

Each Time Code is changed Regression Testing is done. Test Coverage is ensured by having Automated Scripts and the right mix/combination of People executing the Test Cases.
Exploratory Testing may also be encouraged. Exploratory Tests are not pre-designed or pre-defined. The Tests are designed and executed immediately. Similarly ad hoc testing may also be encouraged. Ad-hoc testing is done based on the tester’s experience and skills.

While automated Test Cases will ensure that the Test Cases scripted are executed as defined, the team may not have enough time to design and script all the test cases.
Ensuring software test coverage
To ensure that delivered product meets the end user’s requirements it is important that sufficient testing is done and all scenarios are tested.

Sufficient Test Coverage in an Agile Development Scenario may be tricky but with close cooperation and the right team dynamics it may not be impossible.

The objectives of the Project should be clear to the entire team. Many teams advocate Test Driven Development. At every stage the Software is tested if it meets the Requirements. Every Requirement is translated to a Test Case and Software is validated/ verified. While the Processes and Documentation are not stressed upon sufficient steps are taken to ensure that the software is delivered as per the User Expectations. This implies that each Software delivery should be tested thoroughly before it is released.

The timelines being short requires that the person testing the software has sufficient knowledge about the system and its objectives
Summary:
In this article we studied Software Testing Methods and its challenges for Agile Software Development.

More details about Agile Software Development Concepts can be found at

http://agilemanifesto.org/principles.html

25 Apr

adobe first time quality engineer

By admin | 3 comments

3

adobe-logoMai aveti pana maine la ora 24.00 sa va inscrieti la cea de-a doua editie a training-ului First Time Quality Engineer oferit de Adobe in cadrul programului Adobe Learning Center.

Training-ul este destinat exclusiv studentilor sau proaspetilor absolventi cu zero experienta si care vor sa isi inceapa o cariera in testarea software. Acesta  se va desfasura pe o perioada de 5 zile (11-15 mai) zilnic de la 9 la 17, deci practic veti gusta cu adevarat din aroma corporatista din domeniul it :D (acest lucru nefiind neaparat un lucru rau)

Cei de la Adobe spun ca in acest timp angajatii lor vor incerca sa le arate juniorilor “ce presupune munca unui tester in echipele Adobe”.

Detaliile complete si agenda pot fi gasite aici.

Ca o nota personala, mi-se pare o initiativa foarte frumoasa, chiar ma bucur sa vad SRL-uri de la noi care se ocupa cu formarea noilor talente.

O mica problema ar consta in faptul ca nu sunt sigur daca veti si invata ceva din toata treaba asta pentru ca am avut ocazia acum 1 an sa dau un interviu la Adobe pt un post de senior QA si mi-au lasat o impresie foarte proasta. Raman la parerea mea ca oamenii stau foarte prost la capitolul quality assurance/metodologie/organizare. Si nu am nimic cu testerii cu mai degraba cu managementul defectuos din zona asta  (probabil nu au gasit inca un manager QA care sa aiba si amanta).

Ma asteptam sa port o discutie tehnica inteligenta, provocatoare, dar in schimb m-am ales cu un test de engleza (traducere din ro in en)  si am determinat cate frizerii sunt in  Bucuresti.  Ah! si cate bile rosii sunt in borcanul 2.

17 Mar

SEI/CMM/IEEE/ISO/ANSI – scurta prezentare

By george

In acest articol o sa incercam sa prezentam termenii mentionati in titlu. Acesti termeni sunt foarte des intalniti in industria software development-ului, si toti incearca sa impuna standarde in dezvoltarea software.

SEI – “Software Engineering Institute” – a fost initiat de catre Departamentul de Aparare al Statelor Unite ale Americii cu scopul de a imbunatati procesele dezvoltarii software;

Read more

Bug Tracking Software

Telefon

+40 724 636 637

Adresa

Software Testing RO
Piata Alba Iulia nr 2
Bl I1 sc 1 ap 7
Sector 3, Bucuresti, Romania

Contact




Toate campurile sunt obligatorii.


Trimite...

Close contact form