a:6:{i:0;s:12958:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for quality assurance analyst in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.titans.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.titans.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for quality assurance analyst in bangalore</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Quality Assurance Analyst</div>
									<p class="mt7px fw6">Bangalore</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="300876">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007167"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.titans.co.in/vacancy_1007167.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Job Description:<br />
<br />
A Quality Assurance Analyst has expertise in analysis, testing, data management and problem<br />
solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts.<br />
Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.<br />
<br />
Essential Duties and Responsibilities:<br />
<br />
•	Be creative in finding testing solutions<br />
•	Manually test web applications on multiple browsers<br />
•	Research, identify, reproduce, isolate and report defects<br />
•	Verify resolved defects against applicable environments<br />
•	Ability to juggle multiple projects; from new application launches to maintenance releases.<br />
•	Construct test cases; modify the existing test cases as the test requirements change<br />
•	Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met<br />
•	Use feedback from customer support to expand test scenarios<br />
•	Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)<br />
•	Provide input/status updates regarding test progress/results daily.<br />
<br />
Knowledge/Skills:<br />
<br />
•	BS/MS degree in Computer Science, Engineering or a related subject<br />
•	2+ years of experience in software testing.<br />
•	Inquisitive analytical skills and the ability to think through test cases and test execution to ensure product reliability.<br />
•	Experience developing</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Automation Tester</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QA Testing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality Assurance Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QC Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QA Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Qa</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Qms</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality Assurance</span>
												<span class="bdr dib p2px10px mr5px mt2px"></span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr. Mahesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Bangalore</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9986470009 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:crmahesh@titans.co.in"> crmahesh@titans.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="300876">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1007167"><input type="hidden" name="subject" value="Applied for Quality Assurance Analyst">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(29)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dakshina-kannada.htm" title="Jobs in Dakshina Kannada">Dakshina Kannada</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(9)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'czdPUEtUdDFESm1mNzZ3d3VlamtrZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:75:"Job openings for quality assurance analyst in bangalore | Titan Consultancy";i:2;s:216:"Quality Assurance Analyst Jobs,Quality Assurance Analyst Jobs in Bangalore,Quality Assurance Analyst Vacancy in Bangalore,Quality Assurance Analyst jobs in India,Manufacturing / Production / Quality jobs in Bangalore";i:3;s:385:"Apply for Quality Assurance Analyst Jobs in Bangalore India - Quality Assurance Analyst Vacancy  in Manufacturing / Production / Quality field with 2 to 5 years Work Experience, Key Skills are Software Testing, Automation Tester, QA Testing, Quality Assurance Analyst, QC Engineer, QA Engineer, Qa, Qms, Quality Assurance,, Manufacturing / Production / Quality jobs in Bangalore  India";i:4;s:3281:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Quality Assurance Analyst",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1007167"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9986470009",
	      "email" : "crmahesh@titans.co.in"  
	       },
		  "url": "http://www.titans.co.in/job-openings-for-quality-assurance-analyst-bangalore-1007167.htm",
          "datePosted": "2021-11-12",
          
		  "baseSalary": " 7  Lac  To  10  Lac ",
		  "description": "Job Description:

A Quality Assurance Analyst has expertise in analysis, testing, data management and problem
solving. These skills are used to test software applications to make sure they work as designed and solve the intended business problem. This will involve working closely with Developers and Business Systems Analysts to understand specifications for new application components and/or improve existing application components. You will be expected to design, write, document, and maintain test scripts.
Looking for a very detailed person that can think out of the box to test and insure quality. Experience in developing functional automation testing is a must. You will assist other teams as needed to complete a release and maintain the quality of the system and documentation. In addition to the primary responsibilities listed above, work with other teams assisting with analyses and troubleshooting help desk tickets.

Essential Duties and Responsibilities:

•	Be creative in finding testing solutions
•	Manually test web applications on multiple browsers
•	Research, identify, reproduce, isolate and report defects
•	Verify resolved defects against applicable environments
•	Ability to juggle multiple projects; from new application launches to maintenance releases.
•	Construct test cases; modify the existing test cases as the test requirements change
•	Collaborate with the Development, Project Managers and Product Team to ensure that quality standards are met
•	Use feedback from customer support to expand test scenarios
•	Assist Product Team in resolving layout and formatting issues (e.g. design, user-flow experience)
•	Provide input/status updates regarding test progress/results daily.

Knowledge/Skills:

•	BS/MS degree in Computer Science, Engineering or a related subject
•	2+ years of experience in software testing.
•	Inquisitive analytical skills and the ability to think through test cases and test execution to ensure product reliability.
•	Experience developing",
		  "educationRequirements": "B.C.A, M.C.A",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "B.C.A, M.C.A",
		     "skills": "Software Testing, Automation Tester, QA Testing, Quality Assurance Analyst, QC Engineer, QA Engineer, Qa, Qms, Quality Assurance,"
		  }
		</script>
		";i:5;N;}