Thursday, March 21, 2013

TIZEN


Smart phone powered by the open source platform Tizen will be release by this year August/September 2013 by Samsung. This phone will be available in the high-end category. This device will be the best product equipped with the best specifications.

Samsung is developing Tizen as an alternative to Google’s Android. Tizen is an open source, standards-based software platform supported by leading mobile operators, device manufacturers, for multiple device categories such as smartphones, tablets, netbooks, in-vehicle infotainment devices, and smart TVs. Tizen offers an innovative operating system, applications, and a user experience that consumers can take from device to device.

Tizen provides a robust and flexible environment for application developers, based on HTML5. With HTML5's robust capabilities and cross platform flexibility, it is rapidly becoming the preferred development environment for mobile apps and services. The Tizen SDK and API allow developers to use HTML5 and related web technologies to write applications that run across multiple device segments.

Tizen Devices are :

Smartphones

Tizen smartphone technologies include a flexible and powerful user interface, 3D window effects, advanced multimedia, location based service frameworks, sensor frameworks, and multi-tasking  and multi-touch capabilities. In addition, support for scalable screen resolution means that the platform can deliver a consistent user experience across a broad range of handset types and form factors.

Tablets

Tizen offers a touch-optimized user interface for tablets with a suite of built-in applications for Web browsing, personal information management, and media consumption.

Netbooks

Tizen will provide expanded features, improved performance, and a richer user experience for netbooks. Tizen is a light-weight, scalable, fast-booting, brand-able operating system, with advanced support for touch and connectivity.

In-Vehicle Infotainment

In-Vehicle infotainment systems are devices that deliver navigation, entertainment, and networked computing services in vehicles, such as cars, trucks, planes, and buses. The Tizen In-Vehicle infotainment software platform is designed to enable rich internet and multimedia consumer experiences for vehicles.

Smart TV

Tizen for Smart TV delivers a complete, open standards-based Linux stack, optimized for living room devices, such as Blu-ray players, set top boxes, and digital TVs. It is designed for an Internet-connected TV experience, allowing users to enjoy access to multiple applications, services, and personal media, all while watching TV

As a Tizen Developer:

Tizen 1.0 released in April, and Tizen 2.0 alpha in September, 2012. As a Tizen 2.0 developer, you will find strong HTML5/W3C APIs and a new native framework. Highlights of this release include:
  • Enhanced Web framework that provides state-of-the-art HTML5/W3C API support
  • Web UI framework, including full-screen and multi-window support
  • Additional Tizen device APIs, such as Bluetooth and NFC support, and access to the device’s calendar, call history, and messaging subsystems
  • Web Runtime framework supporting new configuration elements for specifying the required features and privileges, and providing the basic runtime environment for NPRuntime plugins
  • Native framework supporting full-featured application development and providing a variety of features such as background applications, IP Push, and TTS (Text-To-Speech)
  • Core and native reference applications including Calendar, Contacts, Gallery, Phone, Settings, and Video Player
  • Enhanced Web IDE providing WYSIWYG design environment, Chrome-based JavaScript inspector, and JavaScript log viewer
  • Native IDE providing a project wizard, WYSIWYG design environment, unit test tool, and dynamic analyzer

Vibrant Infosystems’ WebVigilance Services – How does it benefit your Business?


Introduction:

The only way to determine how well your online business is working is through your website user experience. Monitoring of websites is essential to ensure that a website is available to its users and downtime is minimized. Users that rely on a website or an application will get frustrated or even stop using the application if it is not reliably available. It is absolutely critical to the success of your business that you focus on the website user experience, determine where it is good and where it needs improvement, and take action to make those improvements.

If you are still not sure, please answer the following questions:
  • Do you rely too much on your end users to bring web application problems to your attention?
  • Are you not sure if customers are able to buy products online from your shopping cart?
  • Are your customers 100% satisfied with your website?
    • Identify the problems before your customers do.
    • Ensure positive end-user experience.
    • Maximize Business revenue

The only way to detect and prevent these types of problems and ensure quality user experiences is to test and monitor your Website from your customer’s perspective.

How can WebVigilance help improve your Business?

With Website Vigilance services we will remotely monitor and analyze your business-critical web applications that involve multiple web transactions.

Vibrant’s WebVigilance services allow you to monitor, diagnose, receive notifications and access detailed reports regarding the performance of your website and transactions. This ensures that your visitors and customers have around the clock access to your website and web services as intended. Do not lose visitors, revenue and customers because of downtime and slow website pages.

How does it work?

Using WebVigilance service, each of the above steps (steps in any e-cart transaction) can be monitored and analyzed. If any errors are detected, Email/SMS notifications are immediately sent and you can take corrective actions accordingly before your customers are affected.

Why use WebVigilance service?

  • No software to install
  • Monitor real-time URLs, transactions and content from a visitor perspective
  • Real-time SMS, email, and IM alerts
  • Detailed online & email reports about uptime, errors and page load time
  • Snapshots of errors; view what kind of errors your visitors and customers see.
  • Advanced and affordable website monitoring service incl. free customer support.

Benefits of Website Vigilance services

  • Ensure your web applications are running 24x7 and are delivering excellent performance from an end-user perspective.
  • Get daily/weekly reports through email indicating your web application.
  • Get instant notifications when there are problems with your application.
  • Improve customer experience by improving performance of your web applications.
  • Eliminate any risk of loss of revenue and credibility to your business.


How is WebVigilance different from the other online tools available?

The online website monitoring tools can only monitor server up time, down time, performance, response time etc. Whereas using Web Vigilance services, you can even make sure that each and every link in your website is monitored. WebVigilance is not a tool, but a service offered by a backend team which works 24X7 to ensure that your website works fine and your business is not affected.

Are you still thinking? What are you waiting for? Just Log on to www.vibrantinfosystems.com to take our WebVigilance service.

How Software Testing can maximize ROI?


Test automation is often seen as a way to reduce the costs of testing, increase test coverage and effectiveness, and shorten testing cycles. In fact many software organizations consider automation as a vital step in establishing a mature QA program and it certainly has a lot of value if it can be effectively leveraged. However, it can never eliminate the manual testing, which is crucial for thorough testing of software applications, completely. 

Automated testing involves higher upfront costs and should be looked at as a long-term investment where the pay-offs come anywhere between 2-4 years down the road. One has to keep in mind that there are various intangible benefits associated with automation. Performing a return on investment (ROI) for your planned automation can however help you understand right at the beginning the actual returns that you will get from your investments and you can weigh those against the benefits you will gain from automation.

Automated Software Testing is a key technique that addresses some of the challenges software testers face today. Our experience has shown that if implemented correctly, Automated Software Testing
  • Can reduce the time and cost of software testing.
  • Can improve software quality.
  • Can enhance manual testing efforts via increased testing coverage and replaces the manually mundane and labor intensive tasks.
  • Can achieve what manual testing can hardly accomplish, such as memory leak detection under specific conditions; concurrency testing and performance testing, and more.
  • Cost, schedule, and quality are parameters that are critical to the success of any software development and product. We will discuss how Automated Software Testing can contribute to each.

Test Automation ROI Calculator with which we can determine a high level approximation of effort and cost.  The test automation calculator comes up with an approximation of effort and savings if you choose to move towards test automation based on the following factors:

Product Details, Technology, Size, Release Details, Test Execution Parameters, Cost Details, Test Automation Tool, Test Automation Parameters, Cost Details.

ROI gains are made both with the initial test automation implementation and throughout the lifetime of an application system that is supported with the automation.

The ROI gains of this approach include:
  • Improved test coverage and efficiency.
  • Reducing implementation time.
  • Making test automation usable for business users who can test their process areas.
  • Reducing the upgrade cycle workload and deployment time.

Overall, you achieve much greater efficiency in your testing using Automation Testing, which results in shorter testing cycles. This means:
  • The same testing can be achieved at a lower cost.
  • More thorough testing can be achieved at the same cost.
  • Increase speed to market.
  • Generally, you can achieve a full payback on an investment in TAF Pro in 1-2 test cycles.

The Best Practices which ensure high ROI.
  • Define the test strategy early.
  • Identify and evaluate tools to suit business/product/team requirements.
  • Keep your test artifacts always upto-date.
  • Prioritize test areas based on requirement business criticality and projected test coverage.
  • Use innovative collaborative testing tools to encourage informal tool driven collaboration and improve flow of information.
  • Continuously monitor the test activities.
  • Act as per the strategy.
  • Follow the test plan thoroughly.
  • Keep the sync between strategy and plan.
  • Define and implement a test metric program.
  • Perform cost-benefit analysis for each activity.

Best Practices to avoid deviation.
  • Lack of Collaboration.
  • Lack of Suspicion.
  • Lack of Ownership.
  • Lack of Skilled Engineers.
  • Lack of Retrospection.
  • Lack of sufficient testing.


Career opportunities in Software Testing


The increasing focus on quality assurance has made the career in software testing more promising and prominent today. Although testing is an integral part of SDLC, emphasis is given to keep it independent from development. In the past, testing was carried out after development was over. Today this has changed and the testing activity starts right from the requirements definition stage. In many organizations today, 'test driven development' is the norm. This increased focus on quality has greatly increased the scope of testing activity.

Gone are the days when software testing was considered second to software development. As organizations have given impetus towards ensuring quality, the focus on software testing and quality assurance is equal or even more than the software development activity. Software is present everywhere today in our lives and is becoming increasingly mission critical; ranging from simple e-commerce websites to complex avionics programs.

To ensure quality, it is extremely important to test and to make sure that the QA processes followed are impeccable. Nowadays companies just don't focus on detection of defects, but also on the prevention of such defects from occurring from the beginning. That's why they adopt standards like CMM, ISO, Six Sigma, etc. Even some IT companies have started positioning themselves as Independent Software Testing (IST) service providers who provide specialized software testing to other organizations to test their products or to device software testing practices for their processes.

Software testing is fast emerging as a lucrative career option and has significantly moved away from the notion that if someone can't make in development, then he will settle down in testing.

Career Prospects

As the software testing is becoming more focused towards specialized and niche segments, the software testing professionals have many interesting options to design their career path based on these verticals. They can either move towards the world of business applications by moving into functional testing where they should have the domain knowledge of the filed; on the other hand they can plunge into the world of technology by focusing on automation testing.

A fresher who enters the industry as a test engineer can choose the testing line or else move towards the quality assurance line where he can become QA lead and then QA manager. A typical career path for a professional tester would unfold as a junior test engineer, test engineer, test analyst, test lead, QA manager, followed by program manager/COE head.

New trends in testing

New and emerging technologies such as Service Oriented Architecture (SOA), Software-as-a-Service, Cloud Computing, virtualization and advent of mobile technologies are radically changing the trends in application testing. Some of the recent trends in software testing domain indicate an upsurge in:
  • SOA Testing
  • Security testing
  • Testing in Cloud Computing environments
  • Tool based regression automation and performance testing
  • On-demand testing services
  • Risk-Based testing
  • VoIP application testing
  • Health care

Risk-based testing is a new concept. As software organizations face increased pressure to complete testing in available time, risk-based testing approach is followed. Due to increase in business complexity, testing scope has been steadily increasing, but at the same time the testing window remains the same or is shrinking. In risk-based testing, areas having major business risks are tested before others. This way, it is ensured that at least business critical functionality is tested properly.

Challenges on the job

Just like in any other profession, the software testing profession also throws up a few challenges. And every challenge brings with it an opportunity to learn and grow. These challenges range from differential analytical ability, to effective communication with the developer. 
    
Since software testing strongly relies on the testers’ analysis of the system and the ability to break down the system, testers ought to have strong analytical skills. Like any other skill, analytical skills can also be improved by practice, such as solving puzzles, taking challenges or reading books to improve one’s aptitude.

Certifications

Certifications in testing also play a major role in meeting the industry trends. A stamp of approval from a credible institute by means of certifications improves the confidence of the employers as well as clients on the testing professionals. There are several institutes such as, International Software Testing Qualifications Board (ISTQB), American Society For Quality (ASQ) and Quality Assurance International (QAI) that offer vendor neutral certifications. Tool specific certifications are available from OEMs such as IBM, HP, Borland, etc. Obtaining certifications like CSTE (Certified Software Test Engineer) from recognized institutions or from online certification site like Brainbench can help a professional get a competitive edge over others during recruitment.

Desired skills

Testing has established itself as a highly attractive profession. But in order to become a good tester, it is important to constantly update skills. As there are no formal courses on testing in graduate programmes, most of the testers are trained either in finishing schools for testing or in-house within companies

Testers act as gatekeepers for quality. Hence, it is important for testing professionals to possess good analytical skills to effectively communicate to the IT and business stakeholders, the criticality of defects in the system. They help IT teams predict and contain defects during development

Testers act as gatekeepers for quality. Hence, it is important for testing professionals to possess good analytical skills to effectively communicate to the IT and business stakeholders, the criticality of defects in the system. They help IT teams predict and contain defects during development. 

Exposure to the convergence of business, technology and management paradigms catalyses career growth by opening up tremendous opportunities for testing professionals who can get groomed as program managers, subject matter experts or test architects. 

Don’t worry if you don’t have some of the skills mentioned above. You can always learn them if you have interest. Non-IT personas can also grow fast by gaining necessary skills.

Cloud Testing – Approach and Process


Small and medium-sized companies for fast secure and scalable IT infrastructure chose to migrate to Cloud Computing, a solution that would help organizations focus on their core business rather than worrying about the investment and maintenance of their business IT infrastructure. Though the solution offers significant benefits, it has its own challenges in terms of security, reliability, and manageability. To mitigate these risks, a rigorous testing is mandatory.

Migrating to a cloud environment requires an understanding of the new business needs and the inherited challenges associated with it. Accordingly, the scope of the software testing also needs to be widened to fully cover those business requirements and the inherited risks associated with cloud computing. In order to meet these testing requirements, organizations need to be equipped with resources adroit in different testing skills.

Overview Small and medium-sized companies needed to have fast, secure and scalable IT infrastructure, in order to cope – up with business needs. But these companies lack the ability to have this setup in-premise. The reason could be the huge capital investment that goes into the growing needs of the IT infrastructure, staff and the expertise to administer. This becomes a burden and prevents them from focusing on their core business. But the solution has its own challenges in terms of security, reliability, and manageability, which organizations should focus on by rigorous testing. Third-party independent testing service providers with niche capabilities in the areas of performance testing, security testing, reliability testing, experience in virtualization technologies and investments in hardware infrastructure are better suited to do this work.

The strategies that testers need to follow while performing testing in a Cloud environment are:

Identify Applicable Testing Types

For this one needs to thoroughly understand cloud characteristics, the business characteristics and the risks/challenges involved.

Some of the quality risks of Cloud computing are Reliability, Flexibility, Multi-tenancy, Self-Healing, Pricing Band on SLA’s, and Location Independence; some of the inherited risks are Data Governance, Data Security, Virtualization Security, Reliability, Monitoring and Manageability. These risks with Cloud computing pose a threat to applications, hence the testing team must understand such threats and accordingly identify the additional amount of testing involved. Also, the team must understand the applicable Cloud models to be tested like Software-as-a-Service (SaaS), Platforms- a-Service (PaaS), Infrastructure-as-a-Service (IaaS) etc. The various services offered to customers via these models play an important role in deciding the applicable testing types to be used for Cloud testing.

The types of testing the team can perform while testing the Cloud are, System Integration Testing (SIT), User Acceptance Testing (UAT), Interoperability Testing, Compatibility Testing, Performance Testing, Load Testing, Stress Testing, Recovery Testing, Security Testing.

Selection of cloud test environment

The infrastructure requirements for test environment is another important consideration for Cloud testing. The two possible options for choosing the right test environment are: simulating in-house Cloud test environment, and choosing the right Cloud service provider - the selection of right infrastructure is critical to testing.

Special considerations

Certain general considerations that are common to cloud testing which the tester must focus are, supporting multiple browsers, user session management related issues, testing against security vulnerabilities, in a multi-tenant environment, restricting users to access their data only and so on.

To mitigate the risks and issues introduced by Cloud Computing, the testing teams should develop a good strategy to test their applications in a Cloud environment that will help the organizations meet their business needs. The testing strategy should discuss the scope of software testing to meet the business requirements and characteristics of Cloud computing. The scope of software testing needs to be widened, which will cover additional testing, improve infrastructure, test environment and the test engineer’s skill set.

Some testing challenges in cloud computing:

  • Dependencies on the Internet – Applications are not installed locally in controlled environments. This makes it harder for testers to replicate the user environment.
  • Security- Since information travels through the Internet, testers have to perform security testing to make sure there is no data leakage when data is sent over the Internet. Wikileaks is an example of threats that we have to prepare for and test before the application can be released to customers.
  • Testing all layers – testing the network connection, server performance, database, and software application adds multiple layers to testing. Testers have to test the communication between the layers, test the connection between the elements, and also plan for the risks. What if the connection breaks mid-way? What if the server is down? What if the software crashes? Testers have to test beyond what they can physically control in their environment.

Testing as a Service


The software testing function has become a challenging activity for enterprises due to increasing technological complexities, software sourcing challenges, rising costs and security issues among others. Software Testing as a Service (TaaS) shall be the way to choose in future.

Typically, software testing is done either internally using the infrastructure that exists within the organization, or then is outsourced to software services providers. At the IT service provider's side; software testing underwent a long drawn evolution cycle. From ad-hoc practices within different business units, it gradually evolved to a centralized Managed Test Center approach, and finally towards institutionalizing a Testing Center of Excellence within the organization. The final stage of the evolution cycle of testing has manifested in the form of Testing-as-a-Service (TaaS).

Testing-as-a-Service delivers application quality management solutions in a flexible service model that accelerates the implementation of your quality center of excellence. Testing-As-A-Service delivers application testing services in a Pay-Per-Use model that provides flexibility in service and pricing. It also lowers the cost of entry to full service testing options and helps you implement best practice quality management processes. This helps you leverage your existing investments by incorporating them into the Testing center of excellence.

TaaS can be used in the following scenarios:

  • Functional testing - In a continuous integration kind of scenario, TaaS could be a platform for creating an agile based functional testing environment
  • Load Testing - TaaS could be used for creating various kinds of loads to stress test applications. The scale-in/scale-out nature of cloud comes in handy for generating variable loads.
  • Performance and Benchmark Testing - TaaS can be used for Independent Software Vendor’s; looking to create benchmark reports for their products with their standardized test suites.
  • Regression Testing - Applications which are in maintenance mode can make use of TaaS to run regression tests of previously written test scripts.
  • Security Testing - TaaS scans application code and websites to identify security vulnerabilities before they escape into production.

Key features

  • Implement best practices and testing framework for Testing-as-a-service
  • Use quality processes to reduce defects, hence rework, and costs
  • Achieve faster time to delivery with dedicated test labs using the Testing Center of Excellence Model
  • Pay-Per-Use model allows you to control your budgets effectively while making the most for each cost spent

Benefits delivered by TaaS:

  • Improved agility by using automation to reduce testing cycles and accelerate time-to-deployment
  • A transaction model that provides more predictable, affordable pricing
  • Faster cycle times, supporting more frequent testing and broader coverage
  • Reduced business risk by leveraging comprehensive regression and performance testing to ensure your apps work properly
  • The assurance that you’ve found any critical vulnerabilities in your app
  • Ability to protect critical business software assets from fault-related failures
  • No need to purchase application licenses or additional hardware with TaaS
  • Save expensive resource time by avoiding the installation, configuration and maintenance of the testing tools
  • TaaS allows you to budget project resources and costs more effectively
  • TaaS will correspond with all your methodologies, and can be delivered anywhere in the world

Testing-As-A-Service (TaaS) is a robust framework that enables an organization to achieve the goal of "quality at an affordable price". TaaS enables your organization to establish a structured approach to testing tailored to suit both your testing needs and your budget. 

The TaaS framework can either be a dedicated testing team working on testing assignments for your organization, or a shared test team which after the establishment of the necessary framework can be drawn on a need-to-have basis.

Importance of Third Party Software Testing


“Every business aims to develop a solution that can capture maximum market within less time. This will only be possible if all the bugs and errors are eliminated from the software before its final release”

In a highly competitive global market, the only aspect that differentiates your Company from the rest is “Quality” which can only be achieved through “Third-Party Software Testing”

Third party testing certification give customers confidence that the products and services they invest in are able to meet the needs from a security & trust perspective.

There are many companies who often do not have sufficient resources or expertise required to conduct an entire set of tests before accepting custom software from a vendor. Even though a service type agreement may exist between the client & vendor, these kinds of agreement helps to reduce the cost & frustration of spending more working time to correct bugs when development is not to the acceptable phase. Often, vendors still may charge for rework by citing weak or ambiguous requirements that were provided by the client. At the end, the client spends considerably more than planned in time & money just to get the result they expected.
    
Nowadays, quality of software naturally becomes a common focus, and much attention is given to the quality of the software, such as security, stability, reliability, convenience, functional agility and high performance etc. As third-party Testing agencies meet all of the above conditions, third party testing is the effective way to raise the level of testing, Quality assurance and deliver full play to test effectiveness.

Advantages with Third Party Software Testing:

  • Identifies requirement issues in the early development stages of the application
  • Provides a check and balance system that benefits the clients and software vendor.
  • Saves money and rework time by reducing the number of errors coded in the first place
  • Verifies that the technical design conforms to the requirements and expectations of the user.
  • Provides the client with an objective view of the readiness of the software at any given time
  • Reduces the client’s workload by having an independent third party test the vendor built application , minimizing the chances a client will sign off and accept problematic software
  • Reduces the number of defects released into production

According to research firm IDC, the global software testing market is estimated at $13 billion of which India accounts for $1 billion. IT companies have started realizing the importance of independent third-party testing and companies have started focusing on their core job and outsourcing it to testing companies.